Compare commits

...

1 Commits

Author SHA1 Message Date
Henry 39665e133b add session regeneration when login 2025-07-21 13:37:09 +01:00
5 changed files with 51 additions and 16 deletions

View File

@ -259,11 +259,18 @@ export const initializeJwtCookieMiddleware = async (app: express.Application, id
if (identityManager.isEnterprise() && !identityManager.isLicenseValid()) {
return res.status(401).json({ redirectUrl: '/license-expired' })
}
req.login(user, { session: true }, async (error) => {
if (error) {
return next ? next(error) : res.status(401).json(error)
req.session.regenerate((regenerateErr) => {
if (regenerateErr) {
return next ? next(regenerateErr) : res.status(500).json({ message: 'Session regeneration failed' })
}
return setTokenOrCookies(res, user, true, req)
req.login(user, { session: true }, async (error) => {
if (error) {
return next ? next(error) : res.status(401).json(error)
}
return setTokenOrCookies(res, user, true, req)
})
})
} catch (error: any) {
return next ? next(error) : res.status(401).json(error)

View File

@ -92,9 +92,16 @@ class Auth0SSO extends SSOBase {
}
return next ? next(err) : res.status(401).json(err)
}
req.login(user, { session: true }, async (error) => {
if (error) return next ? next(error) : res.status(401).json(error)
return setTokenOrCookies(res, user, true, req, true, true)
req.session.regenerate((regenerateErr) => {
if (regenerateErr) {
return next ? next(regenerateErr) : res.status(500).json({ message: 'Session regeneration failed' })
}
req.login(user, { session: true }, async (error) => {
if (error) return next ? next(error) : res.status(401).json(error)
return setTokenOrCookies(res, user, true, req, true, true)
})
})
} catch (error) {
return next ? next(error) : res.status(401).json(error)

View File

@ -48,9 +48,16 @@ class AzureSSO extends SSOBase {
}
return next ? next(err) : res.status(401).json(err)
}
req.login(user, { session: true }, async (error) => {
if (error) return next ? next(error) : res.status(401).json(error)
return setTokenOrCookies(res, user, true, req, true, true)
req.session.regenerate((regenerateErr) => {
if (regenerateErr) {
return next ? next(regenerateErr) : res.status(500).json({ message: 'Session regeneration failed' })
}
req.login(user, { session: true }, async (error) => {
if (error) return next ? next(error) : res.status(401).json(error)
return setTokenOrCookies(res, user, true, req, true, true)
})
})
} catch (error) {
return next ? next(error) : res.status(401).json(error)

View File

@ -81,9 +81,16 @@ class GithubSSO extends SSOBase {
}
return next ? next(err) : res.status(401).json(err)
}
req.login(user, { session: true }, async (error) => {
if (error) return next ? next(error) : res.status(401).json(error)
return setTokenOrCookies(res, user, true, req, true, true)
req.session.regenerate((regenerateErr) => {
if (regenerateErr) {
return next ? next(regenerateErr) : res.status(500).json({ message: 'Session regeneration failed' })
}
req.login(user, { session: true }, async (error) => {
if (error) return next ? next(error) : res.status(401).json(error)
return setTokenOrCookies(res, user, true, req, true, true)
})
})
} catch (error) {
return next ? next(error) : res.status(401).json(error)

View File

@ -97,9 +97,16 @@ class GoogleSSO extends SSOBase {
}
return next ? next(err) : res.status(401).json(err)
}
req.login(user, { session: true }, async (error) => {
if (error) return next ? next(error) : res.status(401).json(error)
return setTokenOrCookies(res, user, true, req, true, true)
req.session.regenerate((regenerateErr) => {
if (regenerateErr) {
return next ? next(regenerateErr) : res.status(500).json({ message: 'Session regeneration failed' })
}
req.login(user, { session: true }, async (error) => {
if (error) return next ? next(error) : res.status(401).json(error)
return setTokenOrCookies(res, user, true, req, true, true)
})
})
} catch (error) {
return next ? next(error) : res.status(401).json(error)