【发布时间】:2019-07-21 00:30:14
【问题描述】:
背景
我在 azure devops 上的私有 nuget 源中有 nuget 包,我尝试从本地 TFS 中使用它们。
这有效,但只持续了几个小时
在 azure devops 中,我导航到 Artifacts -> Connect to feed 并单击链接“下载 NuGet + Credential Provider”。运行 CredentialProvider.VSS.exe -U URL_TO_FEED 时,我得到了一个 jwt 令牌。
在 tfs on-prem 中,我导航到构建定义中的“NuGet 恢复”步骤。在“源和身份验证”中,我选择了“我的 NuGet.config 中的源”,在“此帐户/集合之外的源的凭据”中,我单击了“管理”。在“添加新的 Team Foundation Server/Team Services 连接”对话框中,我选择了“基于令牌的身份验证”并填写了值。我将我从 CredentialProvider.VSS.exe 获得的令牌放在“个人访问令牌”字段中。
nuget 包已恢复,所以一切看起来都很好,但第二天它就不再工作了,因为令牌仅在几个小时内有效(我对其进行了解码以验证)。
问题
我应该如何完成这项工作?使用“个人访问令牌”似乎很奇怪,因为它不应该与我个人相关(例如,如果我离开组织)。 CredentialProvider.VSS.exe 生成的令牌的用户名是 VssSessionToken,这可能表明它不是与我有关的个人令牌,但我不知道。
【问题讨论】:
-
可能你可以使用Azure Artifacts Credential Provider,至少它帮助了我private feed issue
标签: tfs azure-devops nuget