Update: login to email
This commit is contained in:
parent
9ab394244b
commit
2a93962432
1 changed files with 10 additions and 10 deletions
|
|
@ -12,11 +12,11 @@ const JWTRS256_PRIVATE_KEY = Buffer.from(process.env.JWTRS256_PRIVATE_KEY, 'base
|
||||||
const JWTRS256_PUBLIC_KEY = Buffer.from(process.env.JWTRS256_PUBLIC_KEY, 'base64').toString('utf-8');
|
const JWTRS256_PUBLIC_KEY = Buffer.from(process.env.JWTRS256_PUBLIC_KEY, 'base64').toString('utf-8');
|
||||||
|
|
||||||
|
|
||||||
function createSessionJWT (id, login, role) {
|
function createSessionJWT (id, email, role) {
|
||||||
return sessionJWTConfig.sign(
|
return sessionJWTConfig.sign(
|
||||||
{
|
{
|
||||||
id: id,
|
id: id,
|
||||||
login: login,
|
email: email,
|
||||||
role: role,
|
role: role,
|
||||||
midExp: Math.floor(Date.now() / 1000) + 1800
|
midExp: Math.floor(Date.now() / 1000) + 1800
|
||||||
},
|
},
|
||||||
|
|
@ -31,21 +31,21 @@ function createSessionJWT (id, login, role) {
|
||||||
function createSessionCookie(req, res, payload) {
|
function createSessionCookie(req, res, payload) {
|
||||||
let jwtToken;
|
let jwtToken;
|
||||||
if (typeof payload.id !== 'undefined' &&
|
if (typeof payload.id !== 'undefined' &&
|
||||||
typeof payload.login !== 'undefined' &&
|
typeof payload.email !== 'undefined' &&
|
||||||
typeof payload.role !== 'undefined' &&
|
typeof payload.role !== 'undefined' &&
|
||||||
typeof payload.midExp !== 'undefined' &&
|
typeof payload.midExp !== 'undefined' &&
|
||||||
(Math.floor(Date.now() / 1000) <= payload.midExp)) {
|
(Math.floor(Date.now() / 1000) <= payload.midExp)) {
|
||||||
jwtToken = req.headers.cookie;
|
jwtToken = req.headers.cookie;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
jwtToken = createSessionJWT(payload.id, payload.login, payload.role);
|
jwtToken = createSessionJWT(payload.id, payload.email, payload.role);
|
||||||
}
|
}
|
||||||
res.cookie('SESSIONID', jwtToken, {httpOnly:true, secure:false});
|
res.cookie('SESSIONID', jwtToken, {httpOnly:true, secure:false});
|
||||||
}
|
}
|
||||||
|
|
||||||
function decodeSessionCookie(sessionid) {
|
function decodeSessionCookie(sessionid) {
|
||||||
if (typeof sessionid === 'undefined') {
|
if (typeof sessionid === 'undefined') {
|
||||||
return {id: -1, login: -1, role: -1};
|
return {id: -1, email: -1, role: -1};
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const token = sessionJWTConfig.verify(
|
const token = sessionJWTConfig.verify(
|
||||||
|
|
@ -55,7 +55,7 @@ function decodeSessionCookie(sessionid) {
|
||||||
return {token: token};
|
return {token: token};
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
return {id: -1, login: -1, role: -1};
|
return {id: -1, email: -1, role: -1};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -79,18 +79,18 @@ function checkLogin(req, res, role=null){
|
||||||
if(typeof req.cookies !== 'undefined'){
|
if(typeof req.cookies !== 'undefined'){
|
||||||
const session = getSession(req.cookies.SESSIONID);
|
const session = getSession(req.cookies.SESSIONID);
|
||||||
const token = getToken(session);
|
const token = getToken(session);
|
||||||
if(token.login === 'undefined' || token.login === -1){
|
if(token.email === 'undefined' || token.email === -1){
|
||||||
return sendError(res, 500, -1, "User not authenticated.");
|
return sendError(res, 500, 102, "User not authenticated.");
|
||||||
} else {
|
} else {
|
||||||
if(role === null){
|
if(role === null){
|
||||||
return token;
|
return token;
|
||||||
} else {
|
} else {
|
||||||
if(token.role !== 'undefined' &&
|
if(token.role !== 'undefined' &&
|
||||||
((Array.isArray(role) && role.includes(token.role)) ||
|
((Array.isArray(role) && role.includes(token.role)) ||
|
||||||
( typeof role === 'object' && token.role.permission >= role.permission))){
|
( typeof role === 'object' && token.role.permission !== 'undefined' && token.role.permission >= role.permission && token.role.isAccepted === true))){
|
||||||
return token;
|
return token;
|
||||||
} else {
|
} else {
|
||||||
return sendError(res, 500, -1, "User doesn't have permission.", token);
|
return sendError(res, 500, 106, "User doesn't have permission.", token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue