This commit is contained in:
Tben
2023-06-24 13:09:26 +01:00
parent 6b6b924cc9
commit 4b826728ab
10 changed files with 286 additions and 358 deletions
+6 -3
View File
@@ -1,10 +1,13 @@
const parseCookies = require("../utils/functions/parseCookies");
/**
* ==============================================================================
* Main Function
* Logout user
* ==============================================================================
* @param {object} params - Single Param object containing params
* @param {object} params.request - Http request object
* @param {object} params.response - Http response object
*
* @returns {{success: boolean, payload: string}}
*/
module.exports = function ({ request, response }) {
/**
@@ -13,7 +16,7 @@ module.exports = function ({ request, response }) {
* @description Check Encryption Keys
*/
try {
const cookiesKeys = Object.keys(request.cookies);
const cookiesKeys = Object.keys(parseCookies({ request }));
const authKeyName = cookiesKeys.filter((cookieKey) => cookieKey.match(/datasquirel_.*_auth_key/))[0];
const csrfName = cookiesKeys.filter((cookieKey) => cookieKey.match(/datasquirel_.*_csrf/))[0];
+4 -4
View File
@@ -170,12 +170,12 @@ module.exports = async function ({ key, token, database, clientId, response, enc
encryptionSalt,
});
const { user } = httpResponse;
const { user, dsqlUserId } = httpResponse;
const authKeyName = `datasquirel_${user.id}_${database}_auth_key`;
const csrfName = `datasquirel_${user.id}_${database}_csrf`;
const authKeyName = `datasquirel_${dsqlUserId}_${database}_auth_key`;
const csrfName = `datasquirel_${dsqlUserId}_${database}_csrf`;
response.setHeader("Set-Cookie", [`${authKeyName}=${encryptedPayload};samesite=strict;path=/;HttpOnly=true;Secure=true`, `${csrfName}=${httpResponse.user.csrf_k};samesite=strict;path=/;sHttpOnly=true`, `dsqluid=${user.id};samesite=strict;path=/;HttpOnly=true`]);
response.setHeader("Set-Cookie", [`${authKeyName}=${encryptedPayload};samesite=strict;path=/;HttpOnly=true;Secure=true`, `${csrfName}=${user.csrf_k};samesite=strict;path=/;HttpOnly=true`, `dsqluid=${dsqlUserId};samesite=strict;path=/;HttpOnly=true`, `datasquirel_social_id=${user.social_id};samesite=strict;path=/`]);
}
////////////////////////////////////////
+5 -3
View File
@@ -4,6 +4,7 @@
* ==============================================================================
*/
const decrypt = require("../functions/decrypt");
const parseCookies = require("../utils/functions/parseCookies");
/** ****************************************************************************** */
/** ****************************************************************************** */
@@ -56,12 +57,13 @@ module.exports = function ({ request, encryptionKey, encryptionSalt, level, data
*
* @description Grab the payload
*/
const dsqluid = request.cookies.dsqluid;
const cookies = parseCookies({ request });
const dsqluid = cookies.dsqluid;
const authKeyName = `datasquirel_${dsqluid}_${database}_auth_key`;
const csrfName = `datasquirel_${dsqluid}_${database}_csrf`;
const key = request.cookies[authKeyName];
const csrf = request.cookies[csrfName];
const key = cookies[authKeyName];
const csrf = cookies[csrfName];
/**
* Grab the payload