При использовании паспорта-github profile.emails имеет значение null, несмотря на область действия user:email

Я пытаюсь получить личный адрес электронной почты пользователя github через паспорт-github.
Итак, это мой код с scope: "user:email":

   import passport from "passport";    
    import GithubStrategy from "passport-github";
    
    passport.use(
      new GithubStrategy(
        {
          clientID: process.env.GH_CLIENT_ID,
          clientSecret: process.env.GH_CLIENT_SECRET,
          callbackURL: `http://localhost:4000${routes.ghLoginCallback}`,
          scope: "user:email",
        },
        async (accessToken, refreshToken, profile, cb) => {
          console.log(profile.emails);
        }
      )
    );

И теперь я получаю undefined из profile.emails.
Я получаю свой profile правильно, но с email:nullтакже.
Есть ли какие-то возможные проблемы, которые мне не хватает?

1 ответ

Решение

Да , как упомянул @jasonandmonte, passport-github2у меня сработало! Большое спасибо.
Однако некоторые люди говорят, что только passport-githubработает для них (ознакомьтесь с веткой, упомянутой @jasonandmonte), поэтому любой, кто столкнется с той же проблемой в будущем, может попробовать оба. (Структура почти такая же.)

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