2014-12-07 105 views
0

當我正在學習護照中間件時,我試圖將它與新的Express 4 Router()功能集成在一起。無法通過護照獲取facebook

但是當試圖護照Facebook的中間件,用代碼:

router.route('/auth/facebook') 
    .get(passport.authenticate('facebook', {scope : 'email'})); 

router.route('auth/facebook/callback') 
    .get(passport.authenticate('facebook', { 
     successRedirect : '/profile', 
     failureRedirect : '/' 
    })); 

我遇到了以下問題:

Error: read ETIMEDOUT 
at Strategy.OAuth2Strategy._createOAuthError (/Users/home/WorkSpaces/MEAN/EasyAuth/node_modules/passport-facebook/node_modules/passport-oauth2/lib/strategy.js:348:17) 
at /Users/home/WorkSpaces/MEAN/EasyAuth/node_modules/passport-facebook/node_modules/passport-oauth2/lib/strategy.js:171:43 
at exports.OAuth2.getOAuthAccessToken (/Users/home/WorkSpaces/MEAN/EasyAuth/node_modules/passport-facebook/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:177:18) 
at ClientRequest.exports.OAuth2._executeRequest (/Users/home/WorkSpaces/MEAN/EasyAuth/node_modules/passport-facebook/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:148:5) 
at ClientRequest.emit (events.js:95:17) 
at CleartextStream.socketErrorListener (http.js:1551:9) 
at CleartextStream.emit (events.js:95:17) 
at Socket.onerror (tls.js:1455:17) 
at Socket.emit (events.js:117:20) 
at Socket._destroy.self._writableState.errorEmitted (net.js:440:14) 

回答

0

看一看的優秀教程在

ETIMEDOUT可能是無效的redirect_uri,但從錯誤消息中很難分辨出來。

+0

謝謝,是的我正在研究這個嘖嘖,但它仍然使用快遞3樣式的app.get函數;我試圖將它遷移到express 4風格的router.rout樣式代碼中。但看起來效果不佳 – bolerovt 2014-12-07 16:32:58

+0

有一部分內容顯示遷移到Express 4.最後一頁。 – Tobi 2014-12-07 17:04:20