Twitter Oauth GMT / BST问题

时间:2010-04-11 17:03:21

标签: ruby-on-rails twitter oauth

当我尝试通过Twitter登录Oauth时,我一直得到401。

我正在使用twitter_oauth-0.3.3和rails

中的oauth-0.3.6

以前它曾经很完美,所以经过一番挖掘,我意识到它可能与我的时区有关。

在Twitter回复的标题中,其中一个是:

date: 
- Sun, 11 Apr 2010 16:53:34 GMT

即使时间实际上是BST的17:53:34

我假设请求是使用BST时间签名的,所以它失败了。

任何人遇到此问题/找到了解决方法吗?

2 个答案:

答案 0 :(得分:0)

好吧,如果时间是BST 17:53:34,那么它确实 16:53:34 GMT。

所以,如果你正在使用的oauth库无法处理服务器指定不同时区的时间(你某些那是导致问题的原因)那么它可能是库中的一个错误。

(不是很有帮助,我知道 - 我不使用ruby并且自己没有进行任何oauth开发。)您是否尝试过联系图书馆开发人员?

答案 1 :(得分:0)

签名中使用的OAuth时间戳采用epoch time格式。

您可能需要检查Authorization请求标头,检查 oauth_timestamp 并使用此有用的online tool检查您要发送的内容。

您的纪元时间与Twitter之间的差异(您在回复中得到的,如您所写)应该在+ - 300秒的范围内。

希望有所帮助!