具有双因素身份验证的Bitbucket API

时间:2016-12-01 03:52:21

标签: bash rest oauth-2.0 bitbucket-api

我想使用Bitbucket的Rest API启用Bitbucket的双因素身份验证,因此我可以通过终端使用curl管理我的帐户。以前,我在没有2FA的情况下进行了REST API调用,现在我想进行此转换。

启用2FA后,您需要使用OAuth 2.0协议进行API调用;而不是您在Bitbucket site上找到的标准REST API调用。

现在,我在Bitbucket网站上创建了一个所谓的消费者。这会生成一个密钥和一个秘密。

我遇到的部分如下。使用此密钥和密钥,您可以通过

获取所谓的访问令牌(在一小时后过期)

https://bitbucket.org/site/oauth2/authorize?client_id={client_id}&response_type=code

,你可以通过curl命令

来完成

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

我不知道如何获取此访问令牌;即,从调用curl命令到将其置于Bash变量中的步骤。

根据Bitbucket documentation,一旦我们获得了访问令牌,我们就可以通过将其包含在我们的curl命令中来发出API请求。我认为,像是,

curl -u "client_id:secret" https://api.bitbucket.org/2.0/[API Request] --data-urlencode "access_token=$[Access_token]" --data "[api_request_data]=[Api_request_data]"

,其中$[Access_token]是我们的Bash变量,保存我们未过期的访问令牌。

我想创建两个在Bash中实现的函数:一个用于获取访问令牌;并且,一个刷新访问令牌。或者有更简单的方法吗?

无论如何,关于如何在启用2FA的情况下进行REST API调用的快速概述将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

您可以使用Bitbucket“应用密码”。更多信息here