我正在尝试使用 oauth ruby gem 从 ruby irb 向 2 腿 OAuth(1.0) 系统进行身份验证,如下所示,
步骤1:
require 'oauth'
irb(main):038:0> consumer = OAuth::Consumer.new("key", "secret", :site => "site", :scheme => :query_string)
I got a response for this as,
=> #<OAuth::Consumer:0xba14be2c @key="{got valid key here}", @secret="{got valid secret here}", @options={:signature_method=>"HMAC-SHA1", :request_token_path=>"/oauth/request_token", :authorize_path=>"/oauth/authorize", :access_token_path=>"/oauth/access_token", :proxy=>nil, :scheme=>:query_string, :http_method=>:post, :oauth_version=>"1.0", :site=> "https://example.com/">
第2步:
irb(main):039:0> access_token = OAuth::AccessToken.new consumer
=> #<OAuth::AccessToken:0xba144b7c @token="", @secret="", @consumer=#<OAuth::Consumer:0xba147430 @key="{got valid key here}", @secret="{got valid secret here}", @options={:signature_method=>"HMAC-SHA1", :request_token_path=>"/oauth/request_token", :authorize_path=>"/oauth/authorize", :access_token_path=>"/oauth/access_token", :proxy=>nil, :scheme=>:query_string, :http_method=>:post, :oauth_version=>"1.0", :site=>"https://example.com/"}>, @params={}>
请参阅上面的 Token 为空。我应该在这里拿到令牌??
第3步:然后我尝试了从上面得到的所有路径,
irb(main):041:0> access_token.get("/oauth/authorize")
irb(main):041:0> access_token.get("/oauth/request_token")
irb(main):041:0> access_token.get("/oauth/access_token")
但是对于所有请求都得到响应,
=> #<Net::HTTPNotFound 404 Not Found readbody=true>
我不知道我在哪里犯了错误,我是否正确地执行了请求,如果不是,我应该如何对 ruby 中的 2legged oauth 系统进行身份验证。或者我应该要求服务提供商在他们这边进行检查。
步骤 2 中的 Token 字段为空,这是问题吗??
任何人都可以请指导我吗?提前致谢。