繁体   English   中英

使用Node.js的Bitbucket OAuth2

[英]Bitbucket OAuth2 using Node.js

我想在我的应用程序中具有允许用户授权Bitbucket的功能。 我遵循了https://confluence.atlassian.com/bitbucket/oauth-on-bitbucket-cloud-238027431.html

以下步骤可以正常工作,并按预期显示Bitbucket授权屏幕: https ://bitbucket.org/site/oauth2/authorize ? client_id = {client_id}&response_type = code

但是,此部分发出有关无效授予的错误。

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

我在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”}}

请指教!

找到了我问题的答案。 基本上,Bitbucket希望数据直接在正文中发送,而不是JSON。 从上面的代码中的json更改为form对我来说已经修复了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM