Ryusuke Fuda's Tech Blog

Softweare Enginier about Web, iOS, Android.

node.js passport facebook認証でcallbackにパラメータをつける

■ コールバックにリダイレクトさせるURLをパラメータとしてつけたい

 45 app.get('/auth/facebook/', function(req,res,next) {
 46   passport.authenticate(
 47     'facebook',
 48      {callbackURL: '/auth/facebook/callback/?url=' + req.query.url}
 49   )(req,res,next);
 50 });
 51 app.get('/auth/facebook/callback/', function(req,res,next) {
 52   passport.authenticate(
 53     'facebook',
 54      {
 55        callbackURL:"/auth/facebook/callback/"
 56      , successRedirect:"/success"
 57      , failureRedirect:"/login"
 58      }
 59    ) (req,res,next);
 60  });

■ {DOMAIN}/auth/facebook/?url=http://www.google.com へアクセス
callbackの code= の間に?url=http://www.google.comが入ると認証できないらしい…

■ パラメータではくaucth/facebook/{URL}/ としてURLの一部とする方法ならできるっぽい
やりかたはこれ
http://stackoverflow.com/questions/15513427/can-the-callback-for-facebook-pasport-be-dynamically-constructed

参考)
http://stackoverflow.com/questions/15513427/can-the-callback-for-facebook-pasport-be-dynamically-constructedhttp://stackoverflow.com/questions/9885711/custom-returnurl-on-node-js-passports-google-strategyhttp://stackoverflow.com/questions/15443450/routes-file-issues-with-passporthttp://passportjs.org/guide/authenticate/