Oauth 2.0 passport facebook不工作时成功重定向

Oauth 2.0 passport facebook不工作时成功重定向,oauth-2.0,passport.js,passport-facebook,Oauth 2.0,Passport.js,Passport Facebook,我正在尝试使用passport facebook登录我的应用程序。当用户实际登录时,我在重定向时遇到一些问题。基本上,问题是在转到/auth/facebook并重定向到facebook登录(并输入凭据,然后点击登录按钮)后,页面将永远加载,而不是重定向。我做错了什么 这是我的app.js: import express from 'express'; import bodyParser from 'body-parser'; import session from 'express-sessio

我正在尝试使用passport facebook登录我的应用程序。当用户实际登录时,我在重定向时遇到一些问题。基本上,问题是在转到/auth/facebook并重定向到facebook登录(并输入凭据,然后点击登录按钮)后,页面将永远加载,而不是重定向。我做错了什么

这是我的app.js:

import express from 'express';
import bodyParser from 'body-parser';
import session from 'express-session';
import passport from 'passport';
import FacebookStrategy from 'passport-facebook'; 
const app = express();



var fbOpts = {
    clientID: ****,
    clientSecret: ****,
    callbackURL: '/auth/facebook/callback',
    profileFields: ['id', 'displayName', 'photos', 'email']
}

var fbCallback = (accessToken, refreshToken, profile, cb) => {
    console.log(accessToken, refreshToken, profile, cb);
    //save to database
}


app.use(bodyParser.json());
app.use(session({
    secret:'foobar',
    resave:true,
    saveUnitialized:true
}))

passport.use(new FacebookStrategy(fbOpts,fbCallback))

app.get("/",(req,res)=>{
    res.send("<a href='/auth/facebook'>Login with Facebook</a>")
});

app.get("/auth/facebook",passport.authenticate('facebook'));


app.get('/auth/facebook/callback',
    passport.authenticate('facebook', {
        successRedirect : '/profile',
        failureRedirect : '/'
    })
);


app.get("/profile",(req,res)=>res.send("profile page"))


app.listen(3000);
从“express”导入express;
从“body parser”导入bodyParser;
从“快速会话”导入会话;
从“护照”进口护照;
从“passport facebook”导入FaceBooks策略;
常量app=express();
var fOpts={
客户ID:***,
客户机密:***,
callbackURL:“/auth/facebook/callback”,
profileFields:['id'、'displayName'、'photos'、'email']
}
变量fbCallback=(accessToken、refreshToken、profile、cb)=>{
日志(accessToken、refreshToken、profile、cb);
//保存到数据库
}
use(bodyParser.json());
应用程序使用(会话)({
秘密:“foobar”,
雷萨夫:是的,
这是真的
}))
passport.use(新Facebook策略(fbOpts、fbCallback))
应用程序获取(“/”,(请求,请求)=>{
res.send(“”)
});
app.get(“/auth/facebook”,passport.authenticate('facebook');
app.get(“/auth/facebook/callback”,
passport.authenticate('facebook'{
successRedirect:“/profile”,
failureRedirect:“/”
})
);
app.get(“/profile”,(req,res)=>res.send(“profile页面”))
app.listen(3000);
有人能告诉我重定向回我的网站时我遗漏了什么或做错了什么吗


另外,我可以判断登录是否正常工作,因为如果我查看终端控制台,我可以看到我的facebook用户信息,如个人资料图片、姓名、id等。

您现在可能已经解决了这个问题。但这只是为了其他想摆脱这一切的人。有许多参考点你应该注意。我试图改变重定向的东西了好长时间,但没有任何工作。一直阻止邮件URL。白名单等

这个问题实际上已经解决了,因为在我存储id的id文件中,我设置了回调URL:“http://127.0.0.1:3000/auth/facebook/callback”,而不是回调URL:localhost:3000


愚蠢的错误,但我只是想分享一下,让你知道要不断检查所有可能的参考点。

你在Facebook应用程序上的回调URL是什么?