我在Google App Engine上托管了一个快速应用程序,该应用程序试图与auth0一起使用身份验证,但是登录后,我被重定向回登录页面。我相信这是因为当我检查用户是否登录时,它总是返回false并因此进行重定向。我不确定为什么我的回调没有存储用户信息。 这是我的身份验证路由器:
router.get('/login', passport.authenticate('auth0', {
scope: 'openid email profile'
}), function (req, res) {
res.redirect('/');
});
router.get('/callback', function (req, res, next) {
passport.authenticate('auth0', function (err, user, info) {
if (err) { return next(err); }
if (!user) {
return res.redirect('/login'); }
...
以及app.js的相关部分:
var passport = require('passport');
var Auth0Strategy = require('passport-auth0');
// Configure Passport to use Auth0
var strategy = new Auth0Strategy(
{
domain: process.env.AUTH0_DOMAIN,
clientID: process.env.AUTH0_CLIENT_ID,
clientSecret: process.env.AUTH0_CLIENT_SECRET,
callbackURL:
process.env.AUTH0_CALLBACK_URL
},
function (accessToken, refreshToken, extraParams, profile, done) {
return done(null, profile);
}
);
passport.serializeUser(function (user, done) {
done(null, user);
});
passport.deserializeUser(function (user, done) {
done(null, user);
});
passport.use(strategy);
app.use(passport.initialize());
app.use(passport.session());