【问题标题】:Twitter Oauth GMT / BST problemTwitter Oauth GMT / BST 问题
【发布时间】:2011-02-06 18:04:59
【问题描述】:

我在尝试通过 Oauth 使用 Twitter 登录时不断收到 401。

我在 rails 中使用 twitter_oauth-0.3.3 和 oauth-0.3.6

它曾经完美地工作过一段时间,所以经过一番挖掘,我意识到它可能与我的时区有关。

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

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

尽管时间实际上是英国夏令时 17:53:34

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

有人遇到过这个问题/找到了解决办法吗?

【问题讨论】:

    标签: ruby-on-rails twitter oauth


    【解决方案1】:

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

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

    你的纪元时间和 Twitter 的时间(你在响应中得到的,正如你所写的)之间的差异应该在 +- 300 秒帧内。

    希望对您有所帮助!

    【讨论】:

    • 谢谢,原来生成请求时计算的时间不正确。
    【解决方案2】:

    好吧,如果时间是英国夏令时 17:53:34,那么确实格林威治标准时间 16:53:34。

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

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

    【讨论】:

      猜你喜欢
      • 2011-07-16
      • 2011-02-22
      • 2011-06-08
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 2014-02-11
      相关资源
      最近更新 更多