Auth0未在登录时返回用户

时间:2019-01-09 14:47:25

标签: node.js express google-app-engine passport.js auth0

我在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());

0 个答案:

没有答案