3

我正在使用 Ruby 1.8.7、Rails 2.3.8、Linkdin 0.1.7、Roxml 3.1.5 和 Oauth 0.3.6。在我的帐户控制器中,我正在测试 Will Read (http://pivotallabs.com/users/will/blog/articles/1096-linkedin-gem-for-a-web-app) 的代码。当我单击 linkdin 上的“Ok I'll Allow it”按钮时,它会落在回调方法上,然后在此行崩溃:

atoken, asecret = client.authorize_from_request(session[:rtoken], session[:rsecret], pin)

带有以下错误跟踪:

OAuth::Problem (signature_invalid):

oauth (0.3.6) lib/oauth/consumer.rb:167:in `request'

oauth (0.3.6) lib/oauth/consumer.rb:183:in `token_request'

oauth (0.3.6) lib/oauth/tokens/request_token.rb:18:in `get_access_token'

linkedin (0.1.7) lib/linked_in/client.rb:35:in `authorize_from_request'

app/controllers/accounts_controller.rb:52:in `callback'

.....

此外,我检查了 rtoken 和 rsecret 和 params[:oauth_verifier] 的 session 值,没有一个是空白的!

4

1 回答 1

0

我有一个类似的问题。就我而言,问题是我的消费者将请求发送到 HTTP Uri。但是 OAuth 服务器(Stash)重定向到 httpS。一旦我将站点 url 更改为 HTTPS,它就对我有用。

另一个原因可能是中间有一个代理。这需要一些额外的配置。

于 2014-10-13T16:52:48.683 回答