Railsアプリ内に3ステップのOAuthを実装することについていくつかの質問/ガイドを見てきましたが、興味があるのはそのクライアント側の部分だけです。OAuth2サーバーに対してコンシューマーとして認証しようとしています。私の知る限り、私はアクセストークンを正しく構築しています。
@consumer = OAuth::Consumer.new(@config[:client_id], @config[:client_secret],
{
:site => "http://api.server.com",
:oauth_version => "2.0",
:http_method => :post,
:authorize_path => "/oauth2/authorize",
:access_token_path => "/oauth2/token",
:request_token_path => "/oauth2/request_token"
})
token_hash = { oauth_token: @config[:client_id], oauth_token_secret: @config[:client_secret] }
@access_token = OAuth::AccessToken.from_hash(@consumer, token_hash)
このすべてが成功すると、アクセストークンは次のようになります。
#<OAuth::AccessToken:0x007fb6f2290468
@token="client_id",
@secret="secret",
@consumer=#<OAuth::Consumer:0x007fb6f2290800
@key="client_id",
@secret="secret",
@options={:signature_method=>"HMAC-SHA1",
:request_token_path=>"/outh2/request_token",
:authorize_path=>"/oauth2/authorize",
:access_token_path=>"/oauth2/token",
:proxy=>nil,
:scheme=>:header,
:http_method=>:post,
:oauth_version=>"2.0",
:site=>"https://api.server.com"
}
>,
@params={:oauth_token=>"client_id",
:oauth_token_secret=>"secret"
}>
問題は、私が使用して行ったリクエストがエラーを@access_token
返すことです。Forbidden
私のリクエストのどの部分が間違っているのか、何か考えはありますか?