Твиттер Oauth GMT / BST проблема - PullRequest
0 голосов
/ 11 апреля 2010

Я продолжаю получать 401 при попытке войти через Oauth через Twitter.

Я использую twitter_oauth-0.3.3 с oauth-0.3.6 в рельсах

Раньше он прекрасно работал, поэтому после некоторого копания я понял, что это может быть связано с моим часовым поясом.

В заголовках ответа Twitter один из них:

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

Хотя время на самом деле 17:53:34 BST

Я предполагаю, что запрос подписан с использованием времени BST, и поэтому он не выполняется.

Кто-нибудь имел эту проблему / нашел решение для нее?

Ответы [ 2 ]

0 голосов
/ 12 апреля 2010

Метка времени OAuth, используемая в подписи, имеет формат epoch time .

Возможно, вы захотите проверить заголовок запроса Authorization, проверить oauth_timestamp и проверить, что вы отправляете, с помощью этого полезного онлайн-инструмента .

Разница между временем вашей эпохи и временем в Твиттере (которое вы получите в ответе, как вы написали) должна быть в пределах + - 300 секунд.

Надеюсь, это поможет!

0 голосов
/ 11 апреля 2010

Ну, если время 17:53:34 BST, то на самом деле равно 16:53:34 по Гринвичу.

Так что, если используемая вами библиотека oauth не может справиться с сервером, указывающим время в другом часовом поясе (вы уверены , что является причиной проблемы), то это может быть ошибка в библиотеке.

(Не очень полезно, я знаю - я не использую ruby ​​и сам не занимался разработкой oauth.) Вы пытались связаться с разработчиками библиотеки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...