Я работаю над приложением Rails 3, которое использует devise и omniauth и следовало примерам, приведенным в https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overview, и оно работало хорошо для учетных записей Facebook, но когда я попытался добавить Twitter авторизацию, я получил '401 Несанкционированный ответ. Чтобы отследить проблему, я переключил URL-адрес api.twitter.com на http и сбросил сетевой трафик, и, похоже, он дважды размещается в / oauth / access_token. Первый раз, когда я получаю ответ 200, второй дает 401. В промежутке он успешно получает информацию о пользователе для аутентифицированного пользователя, используя метод 'GET /1/account/verify_credentials.json'. Я не понимаю, почему код вызывает метод access_token во второй раз.
В моем файле config / initializers / devise.rb я добавил:
config.omniauth :twitter, "consumer_key", "consumer_secret"
в дополнение к остальному коду, описанному на странице обзора Omniauth выше.
Я также добавил метод 'twitter' в свой OmniauthCallbacksController, но он никогда не вызывается из-за 401.
Любая помощь будет высоко ценится.