Ruby Oauth- не работает авторизация плагина

#ruby-on-rails #ruby #ruby-on-rails-3 #oauth #oauth-2.0

#ruby-on-rails #ruby #ruby-on-rails-3 #oauth #oauth-2.0

Вопрос:

Я использую Ruby oauth-плагин (версия 0.4.0.pre7), чтобы сделать мое приложение Rails (3.0.3) поставщиком oauth. Установка прошла нормально, и я думаю, что аспект поставщика также работает нормально. Однако я застрял на этапе авторизации.

Вот что я делаю после установки:

  1. Создайте клиент oauth
  2. @consumer = OAuth::Consumer.new "consumer_key", "consumer_secret", {:site => "http://localhost:3000"}
  3. @request_token = @consumer.get_request_token
  4. @request_token.authorize_url
  5. Вставьте URL, который он возвращает, в мой браузер.

Я получаю сообщение об ошибке: «неправильное количество аргументов (0 вместо 2)»

Из кода я вижу, что запрос ищет это:

 SELECT `oauth_tokens`.* FROM `oauth_tokens` WHERE (`oauth_tokens`.`type` = 'Oauth2Token') AND (invalidated_at IS NULL AND authorized_at IS NOT NULL and token = 'XXXTOKENXXX') LIMIT 1
  

Похоже, проблема в том, что он ищет ‘Oauth2Token’, но при проверке моей базы данных все запросы создают ‘RequestToken’.

Я пропустил какой-то шаг в процессе подключения к авторизации? У меня что-то настроено неправильно? Похоже, что каким-то образом существует некоторый конфликт между версиями Oauth (например, запрос генерируется для 1.0, а аутентификация использует 2.0).

Есть идеи?

ОБНОВЛЕНИЕ: Я следовал этому руководству:http://unhandledexpression.com/2011/06/02/rails-and-oauth-plugin-part-1-the-provider /, и там была опечатка. Другой пользователь был достаточно любезен, чтобы опубликовать исправление в комментариях, но автор так и не обновил руководство.

Для справки, проблемы были alias :login_required :authenticate_user должны были быть alias :login_required :authenticate_user!

Комментарии:

1. На самом деле, я обновил руководство. Спасибо, что использовали его 🙂

Ответ №1:

Автор любезно обновил плагин:

http://unhandledexpression.com/2011/06/02/rails-and-oauth-plugin-part-1-the-provider/

Спасибо!