【发布时间】:2018-07-23 22:29:01
【问题描述】:
我使用令牌(和密码)进行的本地 TFS 身份验证失败。它使用代理并且没有互联网连接。我应该使用我的 Windows 帐户中的凭据。另外,我应该使用我在 TFS 页面上生成的个人访问令牌。
我以 Microsoft 指定的相同格式使用它。 "http://"MYUSERNAME":"MYPERSONALACCESSTOKEN"@"MYSERVERNAME":8080/tfs/main/Project/_git/Repository"
https://docs.microsoft.com/en-us/vsts/integrate/get-started/authentication/pats
使用 VSTS 帐户的 $url 克隆镜像。 (使用 VSTS 帐户的 PAT 很好)
git clone --mirror $url
然后 git 远程设置 url 以供将来推送。此网址来自 TFS 本地帐户。
$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
当我推送时弹出一个窗口时,我可以通过仅填写登录名和密码来手动进行身份验证,但尝试使用该令牌会给我该错误。
有人知道该怎么做吗?
我的凭据存储在这样的字符串中:
$gitcred = ("{0}:{1}" -f [System.Web.HttpUtility]::UrlEncode($username),$token)
【问题讨论】:
-
您的 TFS 令牌是否仅不适用于 GIT 命令,您是否厌倦了其他一些东西,例如 Rest API?这会正确验证吗?
-
凯文这个问题有什么更新吗?
-
嘿。显然只使用没有用户名的令牌解决了这个问题。似乎对于本地 TFS,身份验证完全由令牌完成。另一方面,VSTS 接受我在问题中发布的凭据。
标签: git powershell http tfs azure-devops