PASSPORTJS:无法获取/auth/facebook/callback



我正在尝试使用passportjs使用Facebook服务登录。在线有很多示例,但是没有一个真正明确说明实现的情况,没有持续的会话,因为我计划使用JWT来识别我的用户。

我已经自己尝试了这一点,但是我不断获得错误响应Cannot GET /auth/facebook/callback。请参阅下面的实现。

路由文件

router.get('/facebook', passport.authenticate('facebook',{ scope : ['email'] }));
router.get('/facebook/callback', 
    passport.authenticate('facebook', {
        session: false
    }));

passportjs

passport.use(new FacebookStrategy({
    clientID: config.facebookAppId,
    clientSecret: config.facebookAppSecret,
    callbackURL: config.facebookCallbackURL,
    profileFields: ['email']
  },
  function(accessToken, refreshToken, profile, done) {
    //find the user based off of the facebook profile id
    User.findOne({oauthID: profile.id}).exec()
    //find the user or create a new record
    .then(function(user){
      if(user) return done(null, user);
      var user = new User({
        oauthID: profile.id,
        oauthProvider: 'facebook',
        email: profile.emails[0].value,
        name: profile.displayName
      });
      user.save();
    })
    //send back error if encountered
    .catch(done);
  }
));

请检查您的API路径。就我而言,我使用http://127.0.0.0.1:3001/api/auth/facebook/callback的API路径,该路径用于Postman及其工作及其工作,但是当我尝试从ReactJS形式尝试时,我使用http:///127.0。0.1:3001/auth/facebook/callback,所以我遇到此错误无法获得/auth/facebook/callback。当我从此路径修复此路径时

我希望它对您有用。谢谢

最新更新