2010-04-11 69 views
0

当试图通过Oauth使用Twitter登录时,我总是收到401。Twitter Oauth GMT/BST问题

我使用twitter_oauth-0.3.3在轨OAuth的0.3.6

它曾经很好地工作,前一段时间,所以一些挖后,我意识到这可能是与我的时区。

在Twitter的响应报头,其中之一是:

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

即使时间居然是17时53分34秒BST

我假设请求正在使用BST签署时间,所以它失败了。

任何人有这个问题/找到一个修复它?

回答

0

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

您可能要检查Authorization请求头,检查是否有oauth_timestamp,并检查你用这个有用online tool发送什么。

您的时代与Twitter的差异(您在回复中得到的结果如您所写)应该在+ - 300秒的框架内。

希望有帮助!

+0

谢谢,事实证明,请求产生时,计算时间不正确。 – 2010-08-11 15:38:17

0

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

所以,如果你正在使用的OAuth库无法与服务器指定在不同的时区的时间应付(你一定这是什么造成的问题),那么它可能是在一个错误图书馆。

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