使用auth0护照策略
https://github.com/auth0/passport-auth0
对于刷新令牌,我的回调始终为null。直接调用auth0锁定函数会给我一个刷新的预期,但是使用这个oauth护照策略不会返回一个refreshtoken。我是否需要将offline_access范围传递给auth0 - 如果是这样,我如何使用Auth0Strategy传递它?
passport.use(new Auth0Strategy({
domain: config.auth0.domain,
clientID: config.auth0.clientId,
clientSecret: config.auth0.secret,
callbackURL: '/login/return'
},
function(accessToken, refreshToken, extraParams, profile, done) {
console.log('refresh token is always null', refreshToken);
}
});
答案 0 :(得分:1)
是的,您需要申请一个(通过添加scope=offline_access
)。您在发送初始授权请求时执行此操作(例如,通过Lock或auth0.js,或者只需使用正确的参数链接)。它真的不依赖于护照。有意义吗?
e.g。试试这个:
app.get('/login',
passport.authenticate('auth0', {scope: 'offline_access'}), function (req, res) {
res.redirect("/");
});