Ошибка получения токена доступа с проблемой OAuth :: Unauthorized 401 в Rails - PullRequest
1 голос
/ 03 января 2011

Прежде всего, я пытаюсь связать свое приложение с сайтом в Китае.Я не уверен, имеет ли это значение, не должно, поскольку этот сайт полностью поддерживает Oauth.

Вот мой код.

Первый шаг:

  require 'oauth'


   def consumer
     OAuth::Consumer.new("206506xxxx", "574705f63783xxxaa4a0bd35e34390fb", :site =>"http://api.t.sina.com.cn")
    end


 def request_token

    @request_token = consumer.get_request_token
  session[:request_token] = @request_token
    session[:request_token_secret] = @request_token.secret
 redirect_to @request_token.authorize_url(:oauth_callback => 'http://localhost:3000/accesstoken')

 end

Это сработалоя смог зайти на authorize_url и получить oauth_verifier

Однако я столкнулся с проблемой при попытке получить токен доступа.

 def access_token
 request_token = OAuth::RequestToken.new(
  consumer,
  session[:request_token],
  session[:request_token_secret]
)


access_token = request_token.get_access_token(:oauth_verifier=>params["oauth_verifier"])


 end 

Я также попытался

   access_token = request_token.get_access_token

Но они оба вернули ошибку 401.

Я очистил сеанс, так что это, вероятно, не связано с истечением срока сеанса

Есть идеи?

1 Ответ

0 голосов
/ 04 января 2011

Я решил проблему сам, поэтому вместо использования

  session[:request_token] = @request_token

я использовал

   session[:request_token] = @request_token.token 

, который работал.

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