代码之家  ›  专栏  ›  技术社区  ›  Andrei Serdeliuc ॐ

Twitter OAuth GMT/BST问题

  •  0
  • Andrei Serdeliuc ॐ  · 技术社区  · 14 年前

    当我试图用Twitter通过OAuth登录时,我一直得到401。

    我在使用twitter ou oauth-0.3.3和oauth-0.3.6在Rails中

    一段时间前它一直很好地工作,所以经过一些挖掘,我意识到它可能与我的时区有关。

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

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

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

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

    有人有这个问题/找到了解决方法吗?

    2 回复  |  直到 14 年前
        1
  •  0
  •   Pablo Fernandez    14 年前

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

    你可能想检查一下 Authorization 请求头,检查 奥斯时间戳 检查你发送的邮件是否有帮助 online tool .

    你的时代和Twitter(你在回复中得到的,如你所写)之间的差别应该在+-300秒的范围内。

    希望有帮助!

        2
  •  0
  •   developmentalinsanity    14 年前

    如果时间是英国夏令时17:53:34,那真的 16:53:34 GMT。

    因此,如果您使用的OAuth库无法处理在不同时区指定时间的服务器(您是否 某些 这就是导致问题的原因)那么它可能是库中的一个bug。

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