У меня есть бэкэнд REST API, созданный с помощью Node + Express + Passport, и я пытаюсь пройти аутентификацию с помощью токена доступа Google. Я использую эту стратегию.
Я просмотрел документацию и проблемы с пакетом на github, но ничего не решило проблему.
Я проверил токен доступа на:
https://www.googleapis.com/oauth2/v1/tokeninfo?idToken
с идентификатором Token и https://www.googleapis.com/oauth2/v1/tokeninfo?acessToken
с токеном доступа, и оба действительны, но ни один из них не работает. Я дважды проверил, что я использую правильный идентификатор клиента и секретный ключ на сервере и на интерфейсе, с которого я получаю токен.
Вот соответствующий код:
app.use(passport.initialize());
passport.use(
new GoogleTokenStrategy(
{
clientID: config.get('google.clientID'),
clientSecret: config.get('google.clientSecret')
},
function(accessToken, refreshToken, profile, done) {
console.log(accessToken, refreshToken, profile, done)
User.findOrCreate({ googleId: profile.id }, function(err, user) {
return done(err, user);
});
}
)
);
app.use('/user', passport.authenticate('google-token'), userRoute);
и я импортирую сверху:
const passport = require('passport');
const GoogleTokenStrategy = require('passport-google-token').Strategy;
Приложение не выдает никаких ошибок.
Я добавил тот console.log, в котором создана стратегия - когда я стреляю из почтальона, там НИЧЕГО не регистрируется. Когда я стреляю из углового интерфейса - он записывает данные и стреляет.