2014-12-07 75 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