- risolto problema della non attesa della PWA durante la chiamata a Node.js.
- risolto problema dell'ambiente in Locale HTTPS certificato installato aggiornato.
This commit is contained in:
@@ -30,10 +30,12 @@ const authenticate = async (req, res, next) => {
|
||||
|
||||
const access = 'auth';
|
||||
|
||||
const idapp = getIdApp(req);
|
||||
//const idapp = getIdApp(req);
|
||||
|
||||
try {
|
||||
const ris = await User.findByToken(token, access, true, idapp);
|
||||
console.log(' ### Authenticate: token', !!token);
|
||||
|
||||
const ris = await User.findByToken(token, access, true, false);
|
||||
if (ris && ris.user && !!ris.user.deleted) {
|
||||
if (ris.user.deleted)
|
||||
ris.user = null;
|
||||
@@ -48,6 +50,7 @@ const authenticate = async (req, res, next) => {
|
||||
}
|
||||
|
||||
if (!!ris.user) {
|
||||
console.log(' AUTH 2) ');
|
||||
// crea una funzione per aggiornare il lasttimeonline e useragent
|
||||
// Save last time online
|
||||
const myuser = await User.updateLastTimeAndUserAgent(ris.user._id, req.get('User-Agent'));
|
||||
@@ -55,6 +58,68 @@ const authenticate = async (req, res, next) => {
|
||||
req.token = token;
|
||||
// req.refreshToken = refreshToken;
|
||||
req.access = access;
|
||||
|
||||
console.log(' AUTH 3) NEXT... ');
|
||||
next(); // Esegui il codice successivo
|
||||
}
|
||||
} catch (e) {
|
||||
tools.mylog("ERR authenticate invalid Token =", e);
|
||||
if (e === server_constants.RIS_CODE_HTTP_FORBIDDEN_TOKEN_EXPIRED) {
|
||||
return res.status(server_constants.RIS_CODE_HTTP_FORBIDDEN_TOKEN_EXPIRED).send();
|
||||
}
|
||||
res.status(server_constants.RIS_CODE_HTTP_INVALID_TOKEN).send();
|
||||
}
|
||||
};
|
||||
|
||||
const authenticate_withUser = async (req, res, next) => {
|
||||
const token = req.header('x-auth');
|
||||
//const refreshToken = req.header('x-refrtok');
|
||||
|
||||
// console.log('authenticate... ');
|
||||
|
||||
let noaut = false;
|
||||
|
||||
if (req.body.hasOwnProperty('noaut')) {
|
||||
noaut = req.body.noaut;
|
||||
}
|
||||
|
||||
if (noaut) {
|
||||
next();
|
||||
return;
|
||||
}
|
||||
|
||||
const access = 'auth';
|
||||
|
||||
//const idapp = getIdApp(req);
|
||||
|
||||
try {
|
||||
console.log(' ### authenticate_withUser: token', !!token);
|
||||
|
||||
const ris = await User.findByToken(token, access, true, true);
|
||||
if (ris && ris.user && !!ris.user.deleted) {
|
||||
if (ris.user.deleted)
|
||||
ris.user = null;
|
||||
}
|
||||
|
||||
if (ris.code === server_constants.RIS_CODE_HTTP_FORBIDDEN_TOKEN_EXPIRED) {
|
||||
return res.status(server_constants.RIS_CODE_HTTP_FORBIDDEN_TOKEN_EXPIRED).send();
|
||||
}
|
||||
|
||||
if (!ris.user) {
|
||||
return res.status(server_constants.RIS_CODE_HTTP_INVALID_TOKEN).send();
|
||||
}
|
||||
|
||||
if (!!ris.user) {
|
||||
console.log(' AUTH 2) ');
|
||||
// crea una funzione per aggiornare il lasttimeonline e useragent
|
||||
// Save last time online
|
||||
await User.updateLastTimeAndUserAgent(ris.user._id, req.get('User-Agent'));
|
||||
req.user = ris.user;
|
||||
req.token = token;
|
||||
// req.refreshToken = refreshToken;
|
||||
req.access = access;
|
||||
|
||||
console.log(' AUTH_WITHUSER 3) NEXT... ');
|
||||
next(); // Esegui il codice successivo
|
||||
}
|
||||
} catch (e) {
|
||||
@@ -91,7 +156,48 @@ const authenticate_noerror = async (req, res, next) => {
|
||||
return next();
|
||||
}
|
||||
|
||||
const ris = await User.findByToken(token, 'auth', false, getIdApp(req));
|
||||
const ris = await User.findByToken(token, 'auth', false, false);
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
console.log(' ## NEXT ! AVANTI...');
|
||||
next();
|
||||
} catch (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();
|
||||
}
|
||||
};
|
||||
const authenticate_noerror_WithUser = async (req, res, next) => {
|
||||
try {
|
||||
const token = req.header('x-auth');
|
||||
const refreshToken = req.header('x-refrtok');
|
||||
console.log(' ### Authenticate_noerror: token', !!token);
|
||||
|
||||
if (!token) {
|
||||
req.user = null;
|
||||
req.token = null;
|
||||
req.code = server_constants.RIS_CODE_HTTP_INVALID_TOKEN;
|
||||
console.log(' ## WITHUSER_TOKEN INVALIDO ❌ ...');
|
||||
return next();
|
||||
}
|
||||
|
||||
const ris = await User.findByToken(token, 'auth', false, true);
|
||||
|
||||
if (ris.code !== server_constants.RIS_CODE_OK) {
|
||||
req.user = null;
|
||||
@@ -119,4 +225,46 @@ const authenticate_noerror = async (req, res, next) => {
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = { authenticate, authenticate_noerror, auth_default };
|
||||
const authenticate_noerror_WithUserLean = async (req, res, next) => {
|
||||
try {
|
||||
const token = req.header('x-auth');
|
||||
const refreshToken = req.header('x-refrtok');
|
||||
console.log(' ### Authenticate_noerror: token', !!token);
|
||||
|
||||
if (!token) {
|
||||
req.user = null;
|
||||
req.token = null;
|
||||
req.code = server_constants.RIS_CODE_HTTP_INVALID_TOKEN;
|
||||
console.log(' ## WITHUSER_TOKEN INVALIDO ❌ ...');
|
||||
return next();
|
||||
}
|
||||
|
||||
const ris = await User.findByToken(token, 'auth', false, true, true);
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
console.log(' ## NEXT ! AVANTI...');
|
||||
next();
|
||||
} catch (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();
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = { authenticate, authenticate_noerror, auth_default, authenticate_withUser, authenticate_noerror_WithUser, authenticate_noerror_WithUserLean };
|
||||
|
||||
Reference in New Issue
Block a user