Skip to content

Commit

Permalink
fix(auth): delete request.session if user is not logged in from auth0
Browse files Browse the repository at this point in the history
  • Loading branch information
adrienjoly committed Dec 29, 2023
1 parent 66a399e commit 25e5e65
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 13 deletions.
2 changes: 1 addition & 1 deletion app.js
Expand Up @@ -18,7 +18,7 @@ if (!process.env.DISABLE_DATADOG) {
hooks: {
request: (span, req) => {
// @ts-ignore ts(2339): Property 'session' does not exist on type 'IncomingMessage'. // it's added by a middleware
const userId = req.session?.whydUid;
const userId = req.session?.whydUid; // from legacy auth/session
span.setTag('customer.id', userId);
},
},
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/admin/test.js
Expand Up @@ -56,7 +56,7 @@ exports.controller = function (request, reqParams, response) {
return response.renderText('test file not found: ' + reqParams.action);
const p = {
loggedUser: request.getUser(),
session: request.session,
session: request.session, // legacy auth/session
cookie: 'whydSid=' + (request.getCookies() || {})['whydSid'], // legacy auth/session
};
const tests = testFile.makeTests(p);
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/api/login.js
Expand Up @@ -43,7 +43,7 @@ exports.handleRequest = function (request, form, response, ignorePassword) {
}

function renderForm(form) {
delete request.session;
delete request.session; // legacy auth/session
if (form.ajax) renderJSON(form);
else response.renderHTML(loggingTemplate.renderLoginPage(form));
}
Expand Down
1 change: 1 addition & 0 deletions app/controllers/private/register.js
Expand Up @@ -170,6 +170,7 @@ exports.registerInvitedUser = function (request, user, response) {
userModel.removeInvite(user.inviteCode);

function loginAndRedirectTo(url) {
// legacy auth/session
request.session = request.session || {};
request.session.whydUid = storedUser.id || storedUser._id; // CREATING SESSION
if (user.ajax) {
Expand Down
11 changes: 2 additions & 9 deletions app/lib/auth0/features.js
Expand Up @@ -35,15 +35,8 @@ exports.makeAuthFeatures = (env) => {
getAuthenticatedUser(request) {
const oidcUser = getAuthenticatedUser(request);
if (!oidcUser) {
// @ts-ignore // session should be provided by 'express-session'
request.session?.destroy(function (err) {
if (err) {
console.error(
'[getAuthenticatedUser] error from request.session.destroy()',
err,
);
}
});
// @ts-ignore // introduced for legacy auth/session, still used for whydUid
delete request.session;
}
return oidcUser ? mapToOpenwhydUser(oidcUser) : null;
},
Expand Down
2 changes: 1 addition & 1 deletion app/lib/my-http-wrapper/http/Application.js
Expand Up @@ -60,7 +60,7 @@ const makeBodyParser = (uploadSettings) =>
const makeStatsUpdater = () =>
function statsUpdater(req, res, next) {
const startDate = new Date();
const userId = (req.session || {}).whydUid;
const userId = (req.session || {}).whydUid; // from legacy auth/session
const userAgent = req.headers['user-agent'];

if (userId) {
Expand Down

0 comments on commit 25e5e65

Please sign in to comment.