我曾尝试在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登录页面[如Meta for developers上所述,在这种情况下,我得到了FB登录屏幕(但标准登录,没有选项来确认发送的数据),我设法接收数据到回调API,但然后应用程序挂起.任何帮助将不胜感激,谢谢!
1条答案
按热度按时间yhuiod9q1#
如果你已经正确配置了autorized重定向URI,并且你的应用程序是活的,请确保使用nodeJs的cors模块不会有cors问题:https://www.npmjs.com/package/cors注意:facebook o auth不会在本地主机上工作,请尝试在免费托管网站上托管你的后端和前端,然后再试一次。