我想使用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调用的快速概述将受到高度赞赏。