Omniauth与FourSquare问题

时间:2011-04-24 14:34:28

标签: ruby-on-rails omniauth foursquare

更新2011/05/01: 我后来仔细阅读了FourSquare的API文档,发现它说:

  

(请注意,请求参数不是JSON,它们是标准的HTTP密钥和值。)所有身份验证都是通过OAuth2进行的,这意味着所有请求都必须是https。

这可能是我的开发机器中没有SSL连接的问题吗?


大家好!我正在尝试通过Omniauth连接FourSquare,我按照下面的Railscast完成,并将提供者更改为foursquare。但返回始终是“invalid_credentials”。我google了一下,发现在GitHub上有关于此的讨论(下面的链接),但似乎还没有结论。 任何人都知道出了什么问题?

Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, "XXXXXXX","XXXXXXX"
provider :foursquare, 'XXXXXXX',
'XXXXXXX'
end

RailsCast Link

Discussion on GitHub

4 个答案:

答案 0 :(得分:1)

尝试修改您的提供程序初始值设定项以指向系统的证书路径(Ubuntu上的“/ etc / ssl / certs”)

Rails.application.config.middleware.use OmniAuth::Builder do
    provider :twitter, "XXXXXXX","XXXXXXX"
    provider :foursquare, 'XXXXXXX', {:client_options => {:ssl => {:ca_path => "/etc/ssl/certs"}}}
end

答案 1 :(得分:1)

我有一个宝石,可以用于四边形的omniauth。

https://github.com/arunagw/omniauth-foursquare

答案 2 :(得分:0)

您的配置看起来很好,但您可能不想公开共享您的令牌/密钥。

您在注册foursquare oauth consumer时使用的回调网址是否与您正在测试的网址相匹配?如果您在注册您的使用者时使用http://www.foo.com/auth/foursquare/callback,但正在您的开发环境(http:// localhost:3000 / ..)上进行测试,您将看到auth / failure错误。

答案 3 :(得分:0)

这就是我所做的:OmniAuth Invalid Response Error