1

Я успешно реализовал OAuth, используя драгоценный камень oauth-plugin с Rails 3.0.9. Однако, как только я обновился до Rails 3.1.3, я получаю сообщение об ошибке при попытке получить токен запроса.RequestToken Oauth-plugin 401 Unauthorized

Я тестировал локально

Rails 3.1.3 OAuth (0.4.5) OAuth-плагин (0.4.0.rc2)

я установки приложения Rails в качестве поставщика

Consumer Key: BkdI1PnzRuvKDw2Qs1wVxtDrtvmqhUgeXLwNpNtm Consumer

секрет: eCY7JFk4vK6IeWXVq7yS3OMVT1XKpVOWOImsy3iw

Запрос Токен URL: http://localhost:3000/oauth/request_token

В консоли:

ruby-1.9.2-p290 :003 > @consumer = OAuth::Consumer.new 
            "BkdI1PnzRuvKDw2Qs1wVxtDrtvmqhUgeXLwNpNtm", 
            "eCY7JFk4vK6IeWXVq7yS3OMVT1XKpVOWOImsy3iw", 
            {:site => "http://localhost:3000"} 
=> #<OAuth::Consumer:0x007fe93d5bcdf8 @key="BkdI1PnzRuvKDw2Qs1wVxtDrtvmqhUgeXLwNpNtm", 
    @secret="eCY7JFk4vK6IeWXVq7yS3OMVT1XKpVOWOImsy3iw", 
    @options={:signature_method=>"HMAC-SHA1", 
      :request_token_path=>"/oauth/request_token", 
      :authorize_path=>"/oauth/authorize", 
      :access_token_path=>"/oauth/access_token", 
      :proxy=>nil, 
      :scheme=>:header, 
      :http_method=>:post, 
      :oauth_version=>"1.0", 
      :site=>"http://localhost:3000"}> 

ruby-1.9.2-p290 :004 > @consumer.get_request_token 
OAuth::Unauthorized: 401 Unauthorized 
from /Users/donpottinger/.rvm/gems/[email protected]_1/gems/oauth-0.4.5/lib/oauth/consumer.rb:219:in `token_request' 
from /Users/donpottinger/.rvm/gems/[email protected]_1/gems/oauth-0.4.5/lib/oauth/consumer.rb:139:in `get_request_token' 
from (irb):4 
from /Users/donpottinger/.rvm/gems/[email protected]_1/gems/railties-3.1.3/lib/rails/commands/console.rb:45:in `start' 
from /Users/donpottinger/.rvm/gems/[email protected]_1/gems/railties-3.1.3/lib/rails/commands/console.rb:8:in `start' 
from /Users/donpottinger/.rvm/gems/[email protected]_1/gems/railties-3.1.3/lib/rails/commands.rb:40:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 
+1

Это означает, что запрос неверный OAuth, вы можете убедиться, что все правильно, как/ключ API секретного и клиента маркера –

+0

Do Проверьте причины 401 HTTP: // oauth.net/core/1.0a/#http_codes – aitchnyu

+0

Я дважды проверил ключ и секрет и попробовал его на нескольких учетных записях. У меня это реализовано в версии Rails 3.0.9 того же приложения, и оно работает так, как ожидалось. Я читал, что если время сервера выключено, это может привести к ошибке 401. Однако сообщение об ошибке не указывает на ошибку 401. – strukturedkaos

ответ

2

У меня была эта проблема, когда часы моей виртуальной машины был позади. Я просто скорректировал часы, чтобы соответствовать текущему времени, и после этого он работал нормально.

Другие причины неправильное применение секретный/ключ

Смежные вопросы