我正在尝试构建一个Foursquare应用程序,并且我选择了Everyauth模块来实现身份验证(Connect with Foursquare)。
我得到了一个错误
Error: Step getAccessToken of `foursquare` module timed out.
在用户允许该应用程序之后。下面是我使用的代码:
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);
发布于 2012-04-24 06:35:36
我的错误是,我将用户重定向到Foursquare文档中描述的应用程序身份验证url。如果我将用户重定向到/auth/foursquare/,它就会起作用,因为每个auth都会处理到oauth提供者的重定向。
https://stackoverflow.com/questions/10264662
复制相似问题