У меня есть экспресс-приложение, размещенное на 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());