2016-05-06 5 views
2

の私は現在、Koa-PassportKoajs 2ノードFacebookのパスポートだけに関係なく送ら範囲

何もかもがうまく働いて使用してFacebooksのOAuthを実装しようとしていると私は、ログインしてものではありませんが、関係なく、私が送る何のできる特定のフィールドを返します。私は今までに取得範囲:

{ passport: 
    { user: 
     { id: '1015401', 
     username: undefined, 
     displayName: 'John Doe', 
     name: [Object], 
     gender: undefined, 
     profileUrl: undefined, 
     provider: 'facebook', 
     _raw: '{"name":"John Doe","id":"1015401"}', 
     _json: [Object] } } } 
私は私のアプリがどのアルを要求している情報を見ることができるのでFacebooksの端に動作しているようです

scope: ['email', 'public_profile']を追加しようとしました

私のものはそこにあります。

私は大丈夫になり、私のアプリケーションに戻ってリダイレクトされますが、やはりprofile_picフィールドとemailフィールドのようなものがありません。これらのフィールドを元に戻す方法に関する情報はすばらしいです。私はgithubのページで問題を開くだろうが、それは非常に維持されていないように2013年にさかのぼる問題があります。

答えて

0

私は同じ問題を抱えていたとは、次の操作を行ってそれを解決:

passport.jsprofileFieldsとの行を追加します。

passport.use(new FacebookStrategy({ 
     clientID: clientID, 
     clientSecret: clientSecret, 
     callbackURL: callbackURL, 
     profileFields: ['id', 'name', 'emails'] 
     }, 

'emails'は、電子メールの配列を返すので、最初に取得します値:

newUser.facebook.email = profile.emails[0].value; 

それがあなたのために働いていた場合、私たちは知ってみましょう、多分それは次のようになります他の人にも役立ちます。

関連する問題