Не удалось получить логин профиля пользователя через Google с узлом и паспортом - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь войти в систему через Google, используя узел и пакет passport-google-oauth20.Но появляется ошибка - «InternalOAuthError: Не удалось получить профиль пользователя».Уже включите Google Plus API.Я использую свой бизнес Gmail ID для доступа к этому.Все хранится в mongodb, но не получает ответный json в качестве ответа.Вот мой код passport-setup.js.

const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20');
const keys = require('./keys');
const User = require('../api/models/user');
const mongoose   = require('mongoose');

passport.use(
new GoogleStrategy({
callbackURL: '/users/google/redirect',
clientID: keys.google.clientID,
clientSecret: keys.google.clientSecret
}, (accessToken, refreshToken, profile, done)=>
{

  User.findOne({googleid : profile.id})
  .exec()
  .then(doc=>{
      if(doc)
      {
        //already exist user
        console.log("User exist : "+doc)
      } else{
        const user = new User({
          _id : new mongoose.Types.ObjectId(),
          name : profile.displayName,
          googleid : profile.id
          });
          user.
          save().
          then(result=>{
              console.log("myerror1" +result);
          })
      }
  })
  .catch(err=>{
      console.log("error1" + err);
  });
  console.log(accessToken);
  console.log(profile);
  })
 )

А вот код маршрутов

router.get('/google', passport.authenticate('google', {
scope: ['profile']
}));

router.get('/google/redirect', passport.authenticate('google'), (req, res)=> 
{
res.send(req.user);
});

Я получаю ошибку по запросу google.redirect.

req.user

показывает мне InternalOAuthError

1 Ответ

0 голосов
/ 26 декабря 2018

Вы проверили эту документацию от Google?Это может помочь.

Кроме того, вы можете добавить .Strategy в конце const GoogleStrategy = require('passport-google-oauth20'); и посмотреть, поможет ли это (или вы получите другое сообщение об ошибке?

const GoogleStrategy = require('passport-google-oauth20').Strategy;
...