2016-03-31 17 views
0

Google OAuth2Strategyを使用してユーザーを認証しようとしています。私は以下のルートを持っています関数内のパスポート。認証が機能しない

**server.get('/user/google', passport.authenticate('google', {scope: ['openid email profile']}); 
server.get('/user/google/callback', authenticate.authenticateGoogleCallback);** 

これは完全にうまくいきます。しかし、私はコールバックのためにやったように、最初の認証をラップすると、ちょうどハングします。それはバグですか、何か間違っていますか?

これは私が試していることです。

**server.get('/user/google', authenticate.authenticateGoogle); // NOT WORKING 
server.get('/user/google', function(req,res,next){ // NOT WORKING 
    passport.authenticate('google', {scope: ['openid email profile']}); 
});** 

答えて

0

これを試してみてください。 (このリンクhttp://passportjs.org/docsで説明したように、関数の最後に(RES、REQ、次の)を提供する必要がある)

server.get('/user/google', function(req, res, next) { 
 
    passport.authenticate('google', { 
 
    scope: ['openid email profile'] 
 
    } ,function(err, user, info){ 
 
    res.send(user); 
 
    })(req,res,next); 
 
})

+0

ありがとうございました。あなたは天才です。 –

+0

Koa(koajs.com)は '(req、res、next)を'(ctx、next) 'に置き換えます。 – kev

関連する問題