如何从bitbucket云上的bitbucket存储库获取HTTP访问令牌



我需要为存储库创建一个HTTP访问令牌,该令牌允许我在另一个存储库中构建nodeJS应用程序时从中提取模块。

这在过去是通过使用其中一名员工的个人访问令牌来完成的,我想改变这一点。

我引用了这篇文章";https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html";其中步骤陈述如下:

为项目或存储库创建HTTP访问令牌

可以为团队创建HTTP访问令牌,以便在项目或存储库级别授予权限,而不是为特定用户授予权限。要为项目或存储库创建HTTP访问令牌(需要项目或存储库管理员权限(:

  1. 从项目或存储库设置中,选择HTTP访问令牌
  2. 选择创建令牌
  3. 设置令牌名称、权限和到期时间

问题出在我的存储库设置中,我找不到"HTTP访问令牌";。

我使用的是Bitbucket云,而文章提到的是Bitbucket服务器,这会有问题吗?如果是这样,这个选项在比特桶云中不可用?

Atlassian有大量的文档,但我对它有一个问题,仍然不知道如何获得访问令牌,以便能够简单地从私人存储库下载档案。

下面是我的分步教程

  1. 插入您的工作区名称而不是{workspace_name},然后转到以下链接以创建OAuth使用者
https://bitbucket.org/{workspace_name}/workspace/settings/api
  • 将回调URL设置为http://localhost:8976(不需要是真正的服务器(
  • 选择权限:存储库->读取
  1. 使用使用者的作为{client_id},并在浏览器中打开以下URL
https://bitbucket.org/site/oauth2/authorize?client_id={client_id}&response_type=code
  1. 按下";授予访问权限";在浏览器中,它会将您重定向到
http://localhost:8976?code=<CODE>

注意:您可以旋转您的本地服务器来自动执行此步骤

  1. 使用上一步中的代码和使用者的Key作为{client_id},使用者的Secret用作{client_secret}
curl -X POST -u "{client_id}:{client_secret}" 
https://bitbucket.org/site/oauth2/access_token 
-d grant_type=authorization_code 
-d code={code} 
  1. 您应该会收到类似的json返回
{
"access_token": <access_token>,
"scopes": "repository",
"token_type": "bearer",
"expires_in": 7200,
"state": "authorization_code",
"refresh_token": <refresh_token>
}
  1. 按以下方式使用访问令牌
curl https://api.bitbucket.org/2.0/repositories/{workspace_name} 
--header "Authorization: Bearer {access_token}

虽然您的问题是关于Bitbucket Cloud的,但您链接的文章是关于Atlassian的自托管源代码管理工具Bitbucket Server的。对于不同的用例,它们有不同的功能,这就是为什么它们看起来不一样。

根据您的使用情况,您可以使用应用程序密码或OAuth。

全面披露:我为Atlassian 工作

最简单的方法是:

  1. 在Bitbucket设置中创建一个OAuth使用者(还提供伪重定向,如localhost:3000、复制KEY和SECRET
  2. 使用curl -X POST -u "KEY:SECRET" https://bitbucket.org/site/oauth2/access_token -d grant_type=client_credentials获取带有访问令牌的JSON数据

最新更新