- COMPLETAMENTO PASSAGGIO A VITE - versione 1.2.2:
- Sistemato RefreshToken - Integrato modifiche di PiuCheBuono - Aggiornato a Node 22 - Aggiornato Server a Mongodb 8.0.
This commit is contained in:
@@ -50,7 +50,7 @@ async function connectToDatabase(uri, opts) {
|
||||
while (!isConnected) {
|
||||
try {
|
||||
console.log("Sto provando a connettermi al database...");
|
||||
await mongoose.connect(uri, opts);
|
||||
await mongoose.connect(uri);
|
||||
|
||||
console.log(' *** CONNESSIONE EFFETTUATA ! ' + uri + ' db: ' + process.env.DATABASE);
|
||||
|
||||
|
||||
@@ -88,39 +88,45 @@ const authenticate_noerror = (req, res, next) => {
|
||||
const token = req.header('x-auth');
|
||||
const refreshToken = req.header('x-refrtok');
|
||||
|
||||
const idapp = getIdApp(req);
|
||||
|
||||
const access = 'auth';
|
||||
return User.findByToken(token, access, false, idapp).then((ris) => {
|
||||
if (ris.code !== server_constants.RIS_CODE_OK) {
|
||||
req.user = null;
|
||||
req.token = null;
|
||||
req.access = null;
|
||||
req.code = ris.code;
|
||||
} else {
|
||||
req.user = ris.user;
|
||||
req.token = token;
|
||||
req.refreshToken = refreshToken;
|
||||
req.access = access;
|
||||
req.code = ris.code;
|
||||
}
|
||||
if (ris.code === server_constants.RIS_CODE_HTTP_FORBIDDEN_TOKEN_EXPIRED) {
|
||||
return res.status(server_constants.RIS_CODE_HTTP_FORBIDDEN_TOKEN_EXPIRED).send();
|
||||
} else {
|
||||
// Vai avanti ad eseguire il codice, in ogni modo !
|
||||
next();
|
||||
}
|
||||
}).catch((e) => {
|
||||
if (!token) {
|
||||
req.user = null;
|
||||
req.token = null;
|
||||
req.access = null;
|
||||
req.code = 0;
|
||||
req.code = server_constants.RIS_CODE_HTTP_INVALID_TOKEN;
|
||||
return next();
|
||||
}
|
||||
|
||||
// Continua comunque !
|
||||
next();
|
||||
});
|
||||
User.findByToken(token, 'auth', false, getIdApp(req))
|
||||
.then((ris) => {
|
||||
if (ris.code !== server_constants.RIS_CODE_OK) {
|
||||
req.user = null;
|
||||
req.token = null;
|
||||
req.code = ris.code;
|
||||
} else {
|
||||
req.user = ris.user;
|
||||
req.token = token;
|
||||
req.refreshToken = refreshToken;
|
||||
req.code = ris.code;
|
||||
}
|
||||
|
||||
if (ris.code === server_constants.RIS_CODE_HTTP_FORBIDDEN_TOKEN_EXPIRED) {
|
||||
return res.status(server_constants.RIS_CODE_HTTP_FORBIDDEN_TOKEN_EXPIRED).send();
|
||||
}
|
||||
|
||||
next();
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error('Errore durante l\'autenticazione:', e);
|
||||
req.user = null;
|
||||
req.token = null;
|
||||
req.code = server_constants.RIS_CODE_HTTP_INVALID_TOKEN;
|
||||
next();
|
||||
});
|
||||
} catch (e) {
|
||||
console.error('Err', e);
|
||||
console.error('Errore nel middleware di autenticazione:', e);
|
||||
req.user = null;
|
||||
req.token = null;
|
||||
req.code = server_constants.RIS_CODE_HTTP_INVALID_TOKEN;
|
||||
next();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -180,16 +180,7 @@ MyPageSchema.statics.findOnlyStruttRec = async function (idapp) {
|
||||
{
|
||||
idapp,
|
||||
loadFirst: true,
|
||||
}).then(
|
||||
(arrrec) => {
|
||||
return arrrec
|
||||
}
|
||||
).catch((err) => {
|
||||
if (err) {
|
||||
console.error('findOnlyStruttRec', err);
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
}).lean();
|
||||
|
||||
const arrfixed = await MyPage.find(
|
||||
{
|
||||
@@ -216,15 +207,7 @@ MyPageSchema.statics.findOnlyStruttRec = async function (idapp) {
|
||||
loadFirst: 1,
|
||||
mainMenu: 1,
|
||||
sottoMenu: 1,
|
||||
}).then((arrrec) => {
|
||||
return arrrec
|
||||
}).catch((err) => {
|
||||
if (err) {
|
||||
console.error('findOnlyStruttRec', err);
|
||||
throw err;
|
||||
|
||||
}
|
||||
});
|
||||
}).lean();
|
||||
|
||||
return [...arrFirst, ...arrfixed];
|
||||
|
||||
|
||||
@@ -65,8 +65,8 @@ const NewstosentSchema = new Schema({
|
||||
|
||||
NewstosentSchema.statics.getFieldsForSearch = function () {
|
||||
return [{ field: 'name', type: tools.FieldType.string },
|
||||
{ field: 'surname', type: tools.FieldType.string },
|
||||
{ field: 'email', type: tools.FieldType.string }]
|
||||
{ field: 'surname', type: tools.FieldType.string },
|
||||
{ field: 'email', type: tools.FieldType.string }]
|
||||
};
|
||||
|
||||
NewstosentSchema.statics.executeQueryTable = function (idapp, params) {
|
||||
@@ -85,11 +85,7 @@ NewstosentSchema.statics.findNewsletter_To_Send = function (idapp) {
|
||||
processing_job: false,
|
||||
finish_job: false,
|
||||
idapp
|
||||
})
|
||||
.sort({ datetoSent: 1 })
|
||||
.then((rec) => {
|
||||
return (rec) ? rec._doc : null;
|
||||
});
|
||||
}).sort({ datetoSent: 1 }).lean();
|
||||
};
|
||||
|
||||
NewstosentSchema.statics.endJob = async function (id) {
|
||||
@@ -127,10 +123,7 @@ NewstosentSchema.statics.findNewsletterPending_To_Send = function (idapp) {
|
||||
processing_job: false,
|
||||
lastemailsent_Job: { $gte: tools.IncDateNow(-1000 * 60 * 60 * 15) },
|
||||
idapp
|
||||
}).then((rec) => {
|
||||
// console.log('findNewsletterPending_To_Send', rec);
|
||||
return (rec) ? rec._doc : null;
|
||||
});
|
||||
}).lean();
|
||||
};
|
||||
|
||||
NewstosentSchema.statics.findAllIdApp = async function (idapp) {
|
||||
|
||||
@@ -659,33 +659,30 @@ router.post('/notifs', authenticate, async (req, res) => {
|
||||
});
|
||||
|
||||
router.post('/newtok', async (req, res) => {
|
||||
|
||||
try {
|
||||
const refreshToken = req.body.refreshToken;
|
||||
|
||||
// Ottieni l'utente in base al refreshtoken
|
||||
const recFound = await User.findOne({ 'tokens.refreshToken': refreshToken });
|
||||
|
||||
// console.log('recFound', recFound ? recFound.name : 'NOTFOUND', 'Token=', refreshToken);
|
||||
|
||||
if (recFound) {
|
||||
return recFound.generateAuthToken(req)
|
||||
.then((ris) => {
|
||||
return res.status(200).send({
|
||||
usertosend: recFound,
|
||||
token: ris.token,
|
||||
refreshToken: ris.refreshToken
|
||||
});
|
||||
})
|
||||
if (!refreshToken) {
|
||||
return res.status(400).send({ error: 'Refresh token mancante' });
|
||||
}
|
||||
|
||||
const recFound = await User.findOne({ 'tokens.refreshToken': refreshToken });
|
||||
|
||||
if (!recFound) {
|
||||
return res.status(404).send({ error: 'Refresh token non valido' });
|
||||
}
|
||||
|
||||
const { token, refreshToken: newRefreshToken } = await recFound.generateAuthToken(req);
|
||||
|
||||
return res.status(200).send({
|
||||
token,
|
||||
refreshToken: newRefreshToken,
|
||||
});
|
||||
} catch (e) {
|
||||
console.error('Err', e);
|
||||
console.error('Errore durante il refresh token:', e);
|
||||
return res.status(500).send({ error: 'Errore interno del server' });
|
||||
}
|
||||
|
||||
res.status(404).send({ code: server_constants.RIS_CODE_HTTP_INVALID_TOKEN });
|
||||
|
||||
});
|
||||
})
|
||||
|
||||
// Dizionario per tenere traccia dei tentativi di accesso falliti per ogni utente
|
||||
const failedLoginAttempts = {};
|
||||
|
||||
@@ -5,7 +5,7 @@ require('./config/config');
|
||||
console.log("VERSIONE NODE.JS :", process.versions.node);
|
||||
if (process.env.AUTH_MONGODB === undefined) {
|
||||
console.error("AUTH_MONGODB non presente. VARIABILI D'AMBIENTE NON SETTATI!");
|
||||
exit;
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -66,21 +66,21 @@ const emo = {
|
||||
EXCLAMATION_MARK: emoji.get('exclamation'),
|
||||
QUESTION_MARK: emoji.get('question'),
|
||||
ARROW_RIGHT: emoji.get('arrow_right'),
|
||||
INVITATI: emoji.get('man_and_woman_holding_hands'),
|
||||
HEART: emoji.get('heart'),
|
||||
BLUE_HEART: emoji.get('blue_heart'),
|
||||
GREEN_HEART: emoji.get('green_heart'),
|
||||
YELLOW_HEART: emoji.get('yellow_heart'),
|
||||
PURPLE_HEART: emoji.get('purple_heart'),
|
||||
GIFT_HEART: emoji.get('gift_heart'),
|
||||
GIFT: emoji.get('gift'),
|
||||
ROBOT_FACE: emoji.get('robot_face'),
|
||||
ADMIN: emoji.get('information_desk_person'),
|
||||
MALE: emoji.get('man-tipping-hand'),
|
||||
FEMALE: emoji.get('female-guard'),
|
||||
INNOCENT: emoji.get('innocent'),
|
||||
CREDIT_CARD: emoji.get('credit_card'),
|
||||
PERSON: emoji.get('man-tipping-hand'),
|
||||
INVITATI: '',
|
||||
HEART: '❤️',
|
||||
BLUE_HEART: '💙',
|
||||
GREEN_HEART: '💚',
|
||||
YELLOW_HEART: '💛',
|
||||
PURPLE_HEART: '💜',
|
||||
GIFT_HEART: '💝',
|
||||
GIFT: '🎁',
|
||||
ROBOT_FACE: '🤖',
|
||||
ADMIN: '💁',
|
||||
MALE: '💁♂️',
|
||||
FEMALE: '👩🦱',
|
||||
INNOCENT: '😇',
|
||||
CREDIT_CARD: '💳',
|
||||
PERSON: '🧑',
|
||||
};
|
||||
|
||||
MsgBot = {
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.1.23
|
||||
1.2.2
|
||||
Reference in New Issue
Block a user