PassportJS не возвращает данные

У меня проблема с PassportJS, когда я не могу заставить разные модули ничего возвращать.

Например, когда я использую passport-google-oath20 У меня есть такой код

passport.use(new GoogleStrategy({
  clientID: keys.google.clientID,
  clientSecret: keys.google.clientSecret,
  callbackURL: "http://localhost:3000/auth/google/redirect"
},
  function(accessToken, refreshToken, profile, cb) {
    console.log(accessToken);
    console.log(refreshToken);
    console.log(profile);
  }
));

собираться в passport.authenticate маршрут, он просто выводит

{}

Я использую google стратегия в качестве примера, но это не работает ни для одной из моих стратегий.

Я дважды проверил, что все ключи правильные и что у меня есть правильные разрешения, но из-за того, что он делает то же самое для всех из них, кажется, что это связано с конкретным проектом.

1 ответ

Вы получаете пустой объект в passport.authenticate потому что ты не звонил cb от функции, которая получает информацию о пользователях от Google.

function(accessToken, refreshToken, profile, cb) {
    console.log(accessToken);
    console.log(refreshToken);
    console.log(profile);
    cb(null, profile);
}

Без звонка cb, authentication метод никогда не будет выполнен

Также, пожалуйста, проверьте, правильно ли вы установили область.

Другие вопросы по тегам