【发布时间】:2018-03-19 13:17:44
【问题描述】:
我正在尝试使用 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);
谁能告诉我我在重定向回我的网站时遗漏了什么或做错了什么?
此外,我可以判断登录是否正常工作,因为如果我查看终端控制台,我可以看到我的 facebook 用户信息,例如头像、姓名、ID 等。
【问题讨论】:
-
你在 Facebook 应用上的回调 URL 是什么?
标签: oauth-2.0 passport.js passport-facebook