Jos*_*ose 7 git authentication token access-token azure-devops
我无法从Azure DevOps克隆一个简单的存储库。操作系统:Ubuntu 18.10
我这样做:
git clone https://myorganization.visualstudio.com/myproject/_git/myrepo/
我不断收到来自Git的消息:
fatal: Authentication failed for 'https://myorganization.visualstudio.com/myproject/_git/myrepo/'
我正在阅读其他人的解决方案,但没有一个对我有用。我也试过这个:
授权:基本Base64Encoded(uname:PAT)
授权:承载式PAT
任何线索为什么这不起作用?
jab*_*ong 16
我像这样使用 PAT 取得了成功;
git clone https://<domain>.visualstudio.com/<domain>/_git/<domain>
git clone https://<PAT>@<domain>.visualstudio.com/<domain>/_git/<domain>
不需要用户名或密码,因为 PAT 就足够了。
小智 10
这个官方指导程序对我有用,但有一点很重要。在进行 Base64 编码时,必须注意不可打印的字符。
指南说:
MY_PAT=yourPAT # replace "yourPAT" with your actual PAT
B64_PAT=$(printf ":$MY_PAT" | base64)
git -c http.extraHeader="Authorization: Basic ${B64_PAT}" clone
https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName
Run Code Online (Sandbox Code Playgroud)
使用“echo”而不是“printf”会插入换行符,更改base64字符串(可能也适用于“echo -n”,但我还没有尝试过)。另外,不要包含用户名,如上面的代码片段所示。
在 Ubuntu 18.04 上使用 git 2.17.1。
小智 8
我也遇到过同样的问题,并且花了很长时间寻找解决方案。我终于看到了这篇帖子,其中包含Martinius79的评论部分中的解决方案。
简而言之,要求它通过git http.extraheaders传递编码为base64的用户名和PAT,以便进行身份验证。
100%归功于原始作者,仅在此处包括它以帮助其他人查找它:
范例:git -c http.extraheader =“授权:基本TXlHaXRTeW5jVXNlcjo2bHFqNXJkcHEzdXBxZWVmd2o3bDduZXN5NTR3d3gxNHFobDVlanl5NTVkb2g0M3d4YzRh / Rev / Rev / Rev_Reset / Rev_Rev /
使用的基本令牌BASE64编码为:TXlHaXRTeW5jVXNlcjo2bHFqNXJkcHEzdXBxZWVmd2o3bDduZXN5NTR3d3gxNHFobDVlanl5NTVkb2g0M3d4YzRh
基本令牌BASE64解码:MyGitSyncUser:6lqj5rdpq3upqeefwj7l7nesy54wwx14qhl5ejyy55doh43wxc4a
令牌的构造方法如下:在此示例中:虚拟用户名:MyGitSyncUser使用的PAT:6lqj5rdpq3upqeefwj7l7nesy54wwx14qhl5ejyy55doh43wxc4a
我希望这有帮助!
Sal*_*man -4
尝试:首先从凭据管理器中删除 git 凭据。尝试生成新的个人访问令牌来解决此错误
转到安全性 -> 个人访问令牌 -> 添加给出描述,选择所有范围,单击创建令牌。
复制令牌并存储以供以后使用。现在可以使用此令牌代替 git 用户的密码。