2017-07-20 7 views
0

passport.jsの自動POSTリクエストNodejsでパスポートOAuth2Strategyは、これは私がサーバー からaccessTokenを取得しようとしました方法です。しかし、私のアクセストークン

passport.use(new OAuth2Strategy({ 
    authorizationURL: ' https://gymkhana.iitb.ac.in/sso/oauth/authorize', 
    tokenURL: 'https://gymkhana.iitb.ac.in/sso/oauth/token', 
    clientID: process.env.IITB_SSO_CLIENT_ID, 
    clientSecret: process.env.IITB_SSO_CLIENT_SECRET, 
    callbackURL: "http://192.168.0.111:8080/auth/iitbsso/callback" 
}, 
function(accessToken, refreshToken, profile, done) { 
    console.log(accessToken); 
} 

app.js

app.get('/auth/iitbsso', passport.authenticate('oauth2', { scope:'basic'})); 
app.get('/auth/iitbsso/callback', passport.authenticate('oauth2', { 
    successRedirect: '/', 
    failureRedirect: '/login' 
}), (req, res) => { 
    res.redirect(req.session.returnTo || '/'); 
}); 

作るんサーバーが固まってしまいましたhttp://192.168.0.111:8080/auth/iitbsso/callback?code=TDPHtfHuKv4HWNhJikkFzNz5bR4fvJ

ログには未定義があります。

私の質問は: 1)この戦略はこのPOST要求を自動的に行うのですか、それともコールバックで明示的に行う必要がありますか?

POST/SSO/OAuthのトーク​​ン//HTTP/1.1

ホスト:gymkhana.iitb.ac.in

認証:基本AUTHENTICATION_TOKEN

のContent-Type:アプリケーション/ X-WWW- form-urlencoded;文字セット= UTF-8

コード= AUTHORIZATION_CODE & REDIRECT_URI = REDIRECT_URI & grant_type = authorization_code

2)それは、その後ない場合どのように私はそれが私のサーバーで動作させるのですか?

答えて

0

Verify Callbackの仕組みを理解する必要があります。

は、アクセス/auth/iitbssoは、その後、ユーザーをリダイレクトし、

function(accessToken, refreshToken, profile, done) { 
     console.log(accessToken); 
     // call done(args) here! 
} 

は、あなたの質問

passport-oauth2あなたのためのすべての汚い仕事を処理するに答えるために、あなたのコード内で、より具体的にhttp://www.passportjs.org/docs/configure/

を見て/auth/iitbsso/callback