Nodejs 中的 Passport Facebook 策略截至 2023 年不起作用

问题描述 投票:0回答:1

我尝试在 Nodejs 中构建 Passport Oauth 登录策略,但似乎从 2023 年起它就不起作用了。单击触发标准服务器 API(如

/auth/facebook/
)的登录按钮并将 Passport 设置为中间件时,它甚至不起作用启动 FB 登录弹出窗口,或任何用于此目的的窗口。

passport.use(new FacebookStrategy({
  clientID: '**********',
  clientSecret: '************',
  callbackURL: "http://localhost:3000/auth/facebook/cb"
},
  function(accessToken, refreshToken, profile, cb) {
        console.log(profile)
    return cb(null, profile);
  }
));

app.get('/auth/facebook', passport.authenticate('facebook', { display: 'popup' });

app.get('/auth/facebook/cb',  passport.authenticate('facebook'), (req, res, next) => {
  res.send(res.user)
});

我已经尝试了所有组合,但没有任何反应。甚至手动触发 FB 登录页面 [如开发者元数据所述,在这种情况下,我得到了 FB 登录屏幕(但标准登录,没有确认发送数据的选项),并且我设法将数据接收到回调 API,但随后应用程序挂起。任何帮助将不胜感激,谢谢!

node.js oauth-2.0 facebook-oauth
1个回答
0
投票

如果您已正确配置自动重定向 uri 并且您的应用程序已上线,请确保使用 nodeJs 的 cors 模块不会出现 cors 问题:https://www.npmjs.com/package/cors 注意:facebook o auth 无法在本地主机上运行,请尝试将您的后端和前端托管在免费托管网站上,然后重试。

© www.soinside.com 2019 - 2024. All rights reserved.