5

我想知道如何(如果可能的话)从 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);
4

0 回答 0