2012-04-22 4 views
0

私はFoursquareアプリを構築しようとしており、認証を実装するためにEveryauthモジュールを選択しました(Foursquareと接続)。Everyauth - Foursquareと接続

ユーザーがアプリを許可した後に、私はエラーに

Error: Step getAccessToken of `foursquare` module timed out. 

を取得しています。 Foursquareのマニュアルに記載され

var express = require('express'), 
     util = require('util'), 
     helper = require('./helper'), 
     settings = require('./settings').appSettings, 
     everyauth = require('everyauth'); 

everyauth.foursquare 
    .entryPath('/auth/foursquare') 
    .callbackPath('/auth/foursquare/callback'); 

//everyauth.everymodule.moduleTimeout(-1); 

everyauth.foursquare 
    .appId(settings.appId) 
    .appSecret(settings.appSecret) 
    .findOrCreateUser(function (session, accessToken, accessTokenExtra, foursquareUserMetadata) { 
    util.inspect(arguments); 
    return {}; 
    }) 
    .redirectPath('/'); 

    var app = express.createServer(
     express.bodyParser() 
    , express.static(__dirname + "/public") 
    , express.favicon() 
    , express.cookieParser() 
    , express.session({ secret: '*****'}) 
    , everyauth.middleware() 
); 

app.get('/', function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    res.end('<html><head></head><body><a href="' + helper.getAuthUrl() + '">Connect with Foursquare</a></body></html>'); 
}); 

everyauth.helpExpress(app); 

app.listen(4040); 
+0

'everyauth'の例はあなたのために働いていますか? – diewie

答えて

0

私のミス、私はアプリの認証URLにユーザーをリダイレクトされた:ここでは私が使用しているコードがあります。すべてのオートがoauthプロバイダへのリダイレクトを処理するので、ユーザーを/ auth/foursquare /にリダイレクトすると動作します。