我想知道如何(如果可能的话)从 Facebook 获取持久令牌,因为来自 Passport 的身份验证只提供一个短时间令牌(从我读到的内容)。如果这是可能的,我想知道如何让用户在重新连接到我的网站时仍然登录。这是我的(但不是真正一致的)代码:
var passport = require('passport')
, FacebookStrategy = require('passport-facebook').Strategy;
var express = require('express'),
app = express();
passport.use(new FacebookStrategy({
clientID: "xxxxx",
clientSecret: "xxxxxx",
callbackURL: "/auth/facebook/callback"
},
function(accessToken, refreshToken, profile, done)
{
done(null, profile);
}
));
app.get('/login', function(req, res)
{
res.end('<a href="/auth/facebook">Login with Facebook</a>') ;
})
app.get('/', function(req, res)
{
res.end('logged in !') ;
})
app.get('/auth/facebook', passport.authenticate('facebook', { scope: ['user_event'] }));
app.get('/auth/facebook/callback',
passport.authenticate('facebook', { successRedirect: '/',
failureRedirect: '/login' }));
var server = app.listen(8080);