We are currently using the https://github.com/panva/node-openid-client策略以及cookie会话。
但是,我们想尝试离开会话,而只存储带有令牌的简单cookie,或者将令牌附加到每个请求的标头上,然后我们进行自省以查看令牌是否有效。
我无法弄清楚,也许不可能,我只是不知道我在哪里或如何从openid-client库中检索令牌,以及何时以及如何将其保存在cookie中。也许仅是为了使用会话而构建的。
当前,我们有:
passport.use(
`oidc.${site}`,
new Strategy(
{
client,
params: getParamsForSite(site),
passReqToCallback,
usePKCE,
},
(tokenset, done) => {
const user = {
token: tokenset,
name: tokenset.claims.sub,
};
return done(null, user);
}
)
);
登录
app.get(['/login', '/login/:site'], (req, res, next) => {
if (req.params.site) {
passport.authenticate(`oidc.${req.params.site}`)(req, res, next);
} else {
res.end(loginFrontend.success());
}
});
以及回调
app.get('/auth_callback', (req, res, next) => {
passport.authenticate(`oidc.${req.query.state}`, {
callback: true,
successReturnToOrRedirect: process.env.BASE_URI,
})(req, res, next);
});
我们希望继续使用该库,因为我们调用的身份验证服务具有发现端点等,并且您不想自己实现所有功能。如果我将session设置为false,那么如何获取令牌以及该策略在哪里可以帮助我?