Rails 中获取访问令牌请求失败并出现 OAuth::Unauthorized 401 问题
首先,我正在尝试将我的应用程序与中国的一个网站连接起来。我不确定这是否重要,因为该网站完全支持 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 错误。
我清理了会话,因此可能不是由于会话过期
有任何想法吗?
First of all, I am trying to connect my app with an site in China. I am not sure if that matters, it shouldn't since that site fully supports Oauth.
Here is my code.
First step:
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
It worked well, I was able to go to authorize_url and get an oauth_verifier
However, I encountered an issue when I was trying to get the access token.
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
I also tried
access_token = request_token.get_access_token
But they both returned 401 error.
I cleaned the session so it's probably not due to session expiry
Any Ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我自己解决了这个问题,所以
我没有使用它,而是使用了
有效的方法。
I solved the problem myself, so instead of using
I used
which worked.