如何解决为什么个人访问令牌不适用于 Bitbucket REST API?
TL/DR:(为什么)在 Bitbucket Web UI 中创建的名称/PAT 组合不适用于 Bitbucket REST API(或存储库克隆)?
我一直在阅读有关 Bitbucket various documentation 和 REST 的 API Personal Access Tokens,目的是在调用前者时使用后者。
到目前为止,我所读到的所有内容都说——用更详细的话说——这是可能的。
接下来,我在 Bitbucket 网络用户界面中创建了个人访问令牌 (PAT
)。
根据下面的屏幕截图(贴在底部,以免破坏文本流),PAT
名称为“test”,假设 PAT
值为 Rzg4MGUyN4m4N9U3O1HQHO3ABJyp7xClvsan7sAmFEPy
为什么,当我尝试使用此 PAT
时,会出现“身份验证失败”错误?例如:
user@bld_svr:~$ curl -L -u test:Rzg4MGUyN4m4N9U3O1HQHO3ABJyp7xClvsan7sAmFEPy -H "Content-Type: application/json" -X POST https://bitbucket.svr.com/rest/build-status/1.0/commits/5764bb32f80813b3bbcbf6496c113c1830c52bb0 -d '{"state":"INPROGRESS","key":"job_434","url":"http://bld_svr:8080//blue/organizations/jenkins/prj/detail/prj/434/pipeline"}'
{"errors":[{"context":null,"message":"Authentication Failed. Please check your credentials and try again.","exceptionName":"com.atlassian.bitbucket.auth.IncorrectPasswordAuthenticationException"}]}
我的阅读使我相信所有必要的是:
尝试稍微调试一下问题,this page 明确指出 Name/PAT 应该可用于 git clone
存储库。但这也失败了:
$ git clone https://bitbucket.svr.com/scm/key/a_project.git
cloning into 'a_project'...
Username for 'https://bitbucket.svr.com': test
Password for 'https://test@bitbucket.svr.com': # I typed in "Rzg4MGUyN4m4N9U3O1HQHO3ABJyp7xClvsan7sAmFEPy" here
fatal: Authentication Failed for 'https://bitbucket.svr.com/scm/key/a_project.git/'
谁能告诉我有关 Bitbucket PAT
以及它们应该如何与 Bitbucket REST API 一起配置/使用,甚至只是简单的 git clone
ing?
解决方法
PAT 名称为“test
”,
实际上,您需要使用您的 BitBucket 用户帐户名称,而不是 PAT 名称作为用户名:
git clone https://username:<token>@bitbucketserver.com/scm/projectname/teamsinspace.git
你也有语法 (seen here)
git clone "https://x-token-auth:{tokenHere}@bitbucket.org/yourRepoOwnerHere/RepoNameHere"
并且您可以使用 gildas/git-credential-bitbucket
作为缓存令牌并自动重用它的一种方式
git credential-bitbucket store <<EOM
protocol=https
host=bitbucket.org
username=xxx
clientid=yyy
secret=zzz
git remote add bitbucket https://xxx@bitbucket.org/path/to/repo.git
git config credential.helper bitbucket
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。