При использовании паспорта-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), поэтому любой, кто столкнется с той же проблемой в будущем, может попробовать оба. (Структура почти такая же.)