feat(identity): retain verified OIDC subject in web session
This commit is contained in:
parent
8aa533eecc
commit
25b3deb19b
|
|
@ -57,7 +57,10 @@ app.get('/auth/callback', async (req, res, next) => {
|
|||
let { tokens } = await oauth.getToken(req.query.code);
|
||||
let p = (await oauth.verifyIdToken({ idToken: tokens.id_token, audience: process.env.GOOGLE_CLIENT_ID })).getPayload();
|
||||
if (!p?.email || !emails.has(p.email)) return res.status(403).send('Not authorised');
|
||||
req.session.user = { email: p.email, name: p.name || p.email };
|
||||
if (typeof p.sub !== "string" || !p.sub.trim()) {
|
||||
return next(new Error('Verified Google ID token missing subject'));
|
||||
}
|
||||
req.session.user = { email: p.email, name: p.name || p.email, sub: p.sub };
|
||||
res.redirect('/');
|
||||
} catch (e) {
|
||||
next(e);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user