我在azure devops的私有nuget提要中有nuget包,我尝试从本地TFS中使用它们。
在天蓝色的开发人员中,我导航到“工件->连接到提要”,然后单击链接“下载NuGet +凭据提供程序”。运行CredentialProvider.VSS.exe -U URL_TO_FEED
时,我得到了一个jwt令牌。
在tfs内部部署中,我导航到构建定义中的“ NuGet恢复”步骤。在“提要和身份验证”中,我选择了“ NuGet.config中的提要”,在“此帐户/集合之外的提要的凭据”中,单击了“管理”。在“添加新的Team Foundation Server /团队服务连接”对话框中,选择“基于令牌的身份验证”并填写值。我将从CredentialProvider.VSS.exe获得的令牌放在“个人访问令牌”字段中。
还原了nuget软件包,因此一切似乎都很好,但是第二天它不再起作用了,因为令牌仅有效了几个小时(我将其解码以进行验证)。
我应该如何进行这项工作?使用“个人访问令牌”似乎很奇怪,因为它不应该与我个人相关(例如,如果我离开组织)。 CredentialProvider.VSS.exe生成的令牌的用户名是VssSessionToken,这可能表明它不是与我相关的个人令牌,但我不知道。
答案 0 :(得分:1)
PAT(个人访问令牌)几乎是Azure Artifacts提要的一种方式,因为它们是通用的,可提供对Azure DevOps不同部分的访问。
如果您担心它们是私人的事实,则可以使用服务帐户生成令牌。
如果您希望PAT的寿命更长,则可以自己创建一个更容易(有关说明,请参见https://docs.microsoft.com/en-us/azure/devops/artifacts/nuget/nuget-exe?view=azure-devops&tabs=new-nav#add-a-feed-to-nuget-2)
简而言之,您将创建一个具有“包装(读取)”权限的PAT,以限制滥用的可能性。
要考虑的两件事: