2017-03-23 10 views
0

私は、ユーザーがBitbucketを認証できるようにするアプリケーションに機能を必要としています。私はhttps://confluence.atlassian.com/bitbucket/oauth-on-bitbucket-cloud-238027431.htmlに従った。Node.jsを使用したBitbucket OAuth2

次の作品と期待どおりのBitbucket認証画面をもたらす: https://bitbucket.org/site/oauth2/authorize?client_id= {CLIENT_ID} & response_type =コード

しかし、この部分は無効グラントに関するエラーを発します。

$ curl -X POST -u "client_id:secret" \ 
    https://bitbucket.org/site/oauth2/access_token \ 
    -d grant_type=authorization_code -d code={code} 

IがのNode.jsでrequestモジュールを使用して次のようにコードを使用しています:

request.post(
    'https://bitbucket.org/site/oauth2/access_token', 
    { 
    json: { 
     client_id: config.get('app.bitbucket_client_id'), 
     client_secret: config.get('app.bitbucket_client_secret'), 
     code: req.query.code, 
     grant_type: "authorization_code" 
     } 
     }, function (error, response, body) {  
     // Do something here 
     } 
    } 

{ "結果":{ "ましたerror_description": "サポートされていない許可種類:なし"、 "エラー":" invalid_grant "}}

助けてください!

+1

あなたのリクエストにgrant_typeパラメータが含まれていないというエラーはJSONではありませんか? –

+0

どうすればいいですか? {"結果" {"error_description": "サポートされていない許可の種類:なし"、 "エラー": "invalid_grant"}} –

+0

@RickLee追加しようとしましたgrant_typeが、問題は解決されません。 –

答えて

1

私の質問に対する答えが見つかりました。基本的に、BitbucketはJSONの代わりに直接データを本体に送ることを期待しています。上記のコードでjsonからformに変更すると、私のために修正されました。

関連する問題