TFS令牌身份验证失败

时间:2018-02-13 14:07:38

标签: git powershell http tfs azure-devops

我对本地TFS的令牌(和密码)验证失败。它使用代理,没有互联网连接。我应该使用Windows帐户中的凭据。另外,我应该使用我在TFS页面上生成的个人访问令牌。

我使用的是Microsoft指定的相同格式。 的 “http://” 名为myUsername “:” MYPERSONALACCESSTOKEN “@” MYSERVERNAME “:8080 / TFS /主/项目/ _git /存储库”

https://docs.microsoft.com/en-us/vsts/integrate/get-started/authentication/pats

使用VSTS帐户的$ url克隆镜像。 (使用VSTS帐户中的PAT很好)

git clone --mirror $url 

然后git远程设置url以便将来推送。来自TFS本地帐户的此URL。

$url2 = ("http://{0}@teamfoundation:8080/tfs/main/ProjectZero/_git/RepositoryAlpha/" -f $gitcred)

git remote set-url --push origin $url2

然后当推送到本地TFS时,我收到一个错误(不能使用在本地TFS帐户上生成的PAT)

git push --mirror 
  

致命:身份验证失败   'http://pt4005:pperkmngnanqrtqghjkrqwgoqrwwkykb4lezjqrrqwr@teamfoundation:8080/tfs/main/ProjectZero/_git/RepositoryAlpha/'

我只需在不使用令牌的情况下填写登录名和密码即可手动进行身份验证,当我按下时会弹出一个窗口,但是尝试使用该令牌会给我带来错误。

有谁知道该怎么做?

我的凭据存储在这样的字符串中:

$gitcred = ("{0}:{1}" -f  [System.Web.HttpUtility]::UrlEncode($username),$token)

2 个答案:

答案 0 :(得分:1)

本地TFS的身份验证与VSTS不同。仅使用令牌,而不使用呼叫上的用户名。

答案 1 :(得分:0)

仅使用不带用户名的令牌在Windows计算机上有效,而在Linux计算机上无效