0
重定向到facebook.com不會發生,一旦我點擊以下鏈接認證使用Passport JS對於Facebook
//Facebook
app.get('/auth/facebook', passport.authenticate('facebook', { scope : ['email'] }));
app.get('/auth/facebook/callback',
passport.authenticate('facebook', { successRedirect: '/profile',
failureRedirect: '/' }));
戰略碼是如下:
var FacebookStrategy = require('passport-facebook').Strategy;
passport.use(new FacebookStrategy({
clientID: configAuth.facebookAuth.clientID,
clientSecret: configAuth.facebookAuth.clientsecret,
profileFields: ['id', 'displayName', 'email'],
callbackURL: configAuth.facebookAuth.callbackURL
},
function(accessToken, refreshToken, profile, done) {
process.nextTick(function() {
User.findOne({
'facebook.id': profile.id
}, function(err, user) {
if (err)
return done(err);
if (user)
return done(null, user);
else {
var newUser = new User();
newUser.facebook.id = profile.id;
newUser.facebook.token = accessToken;
newUser.facebook.name = profile.name.givenName + ' ' + profile.name.familyName;
newUser.facebook.email = profile.email[0].value;
newUser.save(function(err) {
if (err)
throw err;
else
return done(null, newUser);
})
}
});
});
}
));
我已經更新我的auth.js文件中的祕密。 我也更新了網站網址:http://localhost:8080,並添加應用程序域:本地主機在developers.facebook.com
每當我點擊HTML鏈接上的控制仍然是同一個頁面上,然後無法找到該網頁http://localhost:8080/auth/facebook顯示
感謝@Gousia的回覆。 但我猜[http:// localhost:8080 /]應該是網站的網址。 [http:// localhost:8080/auth/facebook/callback]應該是回叫網址。 雖然我改變了它,正如你所建議的仍然沒有成功。 問題是一旦我點擊FB鏈接,頁面剛剛加載,然後超時幾秒後說http:// localhost:8080/auth/facebook /無法連接 – ami27
嘗試添加ssl證書,我認爲它會工作 – Gousia