簡體   English   中英

使用 facebook 和 Twitter 策略的護照身份驗證

[英]Passport authentication using both facebook and Twitter strategies

我已將護照配置如下,以使用 facebook 身份驗證策略,使用 passport-facebook,它工作正常。 但是,現在我想讓 Twitter 用戶也能夠使用 passport-twitter 進行身份驗證。 如何配置護照以使用這兩種策略?

 var passport = require('passport'); var Strategy = require('passport-facebook').Strategy; passport.use(new Strategy({ clientID: process.env.FACEBOOK_CLIENT_ID, clientSecret: process.env.FACEBOOK_CLIENT_SECRET, callbackURL: '/return' }, function(accessToken, refreshToken, profile, cb) { }));

嘗試

 var passport = require('passport')
      , ForceDotComStrategy = require('./lib/passport-forcedotcom').Strategy
      , TwitterStrategy = require('passport-twitter').Strategy
      , FacebookStrategy = require('passport-facebook').Strategy;

passport.use(new TwitterStrategy({
  consumerKey: '[TWITTERID]',
  consumerSecret: '[TWITTERSECRET]',
  callbackURL: 'return'
  }, function(token, tokenSecret, profile, done) {
    process.nextTick(function () {
      return done(null, profile);
    });
  }));

passport.use(new FacebookStrategy({
    clientID: '[FBID]',
    clientSecret: '[FBSECRET]',
    callbackURL: 'return'
  },
  function(accessToken, refreshToken, profile, done) {
    // asynchronous verification, for effect...
    process.nextTick(function () {
             
      return done(null, profile);
    });
  }
));



app.get('/twitter-login', passport.authenticate('twitter'));

app.get('/twitter-token', passport.authenticate('twitter', { failureRedirect: '/error' }),
  function(req, res){
    res.send('Logged In.');
  });



app.get('/facebook-login', passport.authenticate('facebook'));

app.get('/facebook-token', passport.authenticate('facebook', { failureRedirect: '/error' }),
  function(req, res){
    res.send('Logged In.');
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM