add session regeneration when login
This commit is contained in:
parent
dca91b979b
commit
39665e133b
|
|
@ -259,12 +259,19 @@ export const initializeJwtCookieMiddleware = async (app: express.Application, id
|
||||||
if (identityManager.isEnterprise() && !identityManager.isLicenseValid()) {
|
if (identityManager.isEnterprise() && !identityManager.isLicenseValid()) {
|
||||||
return res.status(401).json({ redirectUrl: '/license-expired' })
|
return res.status(401).json({ redirectUrl: '/license-expired' })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) => {
|
req.login(user, { session: true }, async (error) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
return next ? next(error) : res.status(401).json(error)
|
return next ? next(error) : res.status(401).json(error)
|
||||||
}
|
}
|
||||||
return setTokenOrCookies(res, user, true, req)
|
return setTokenOrCookies(res, user, true, req)
|
||||||
})
|
})
|
||||||
|
})
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
return next ? next(error) : res.status(401).json(error)
|
return next ? next(error) : res.status(401).json(error)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -92,10 +92,17 @@ class Auth0SSO extends SSOBase {
|
||||||
}
|
}
|
||||||
return next ? next(err) : res.status(401).json(err)
|
return next ? next(err) : res.status(401).json(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) => {
|
req.login(user, { session: true }, async (error) => {
|
||||||
if (error) return next ? next(error) : res.status(401).json(error)
|
if (error) return next ? next(error) : res.status(401).json(error)
|
||||||
return setTokenOrCookies(res, user, true, req, true, true)
|
return setTokenOrCookies(res, user, true, req, true, true)
|
||||||
})
|
})
|
||||||
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return next ? next(error) : res.status(401).json(error)
|
return next ? next(error) : res.status(401).json(error)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,10 +48,17 @@ class AzureSSO extends SSOBase {
|
||||||
}
|
}
|
||||||
return next ? next(err) : res.status(401).json(err)
|
return next ? next(err) : res.status(401).json(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) => {
|
req.login(user, { session: true }, async (error) => {
|
||||||
if (error) return next ? next(error) : res.status(401).json(error)
|
if (error) return next ? next(error) : res.status(401).json(error)
|
||||||
return setTokenOrCookies(res, user, true, req, true, true)
|
return setTokenOrCookies(res, user, true, req, true, true)
|
||||||
})
|
})
|
||||||
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return next ? next(error) : res.status(401).json(error)
|
return next ? next(error) : res.status(401).json(error)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,10 +81,17 @@ class GithubSSO extends SSOBase {
|
||||||
}
|
}
|
||||||
return next ? next(err) : res.status(401).json(err)
|
return next ? next(err) : res.status(401).json(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) => {
|
req.login(user, { session: true }, async (error) => {
|
||||||
if (error) return next ? next(error) : res.status(401).json(error)
|
if (error) return next ? next(error) : res.status(401).json(error)
|
||||||
return setTokenOrCookies(res, user, true, req, true, true)
|
return setTokenOrCookies(res, user, true, req, true, true)
|
||||||
})
|
})
|
||||||
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return next ? next(error) : res.status(401).json(error)
|
return next ? next(error) : res.status(401).json(error)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -97,10 +97,17 @@ class GoogleSSO extends SSOBase {
|
||||||
}
|
}
|
||||||
return next ? next(err) : res.status(401).json(err)
|
return next ? next(err) : res.status(401).json(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) => {
|
req.login(user, { session: true }, async (error) => {
|
||||||
if (error) return next ? next(error) : res.status(401).json(error)
|
if (error) return next ? next(error) : res.status(401).json(error)
|
||||||
return setTokenOrCookies(res, user, true, req, true, true)
|
return setTokenOrCookies(res, user, true, req, true, true)
|
||||||
})
|
})
|
||||||
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return next ? next(error) : res.status(401).json(error)
|
return next ? next(error) : res.status(401).json(error)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue