使用Node.js,Express和Passport的Facebook持久令牌和"让我登录"

Vin*_*nes 5 facebook node.js facebook-access-token passport.js

我想知道如何(如果可能的话)可以从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);
Run Code Online (Sandbox Code Playgroud)