1

所以,有点奇怪,我希望有人遇到这个问题并找到了解决方法(或者理解为什么会这样)

所以这过去可以毫无问题地工作......这周刚刚开始发生 - 据我们所知

基本上,当您在 Azure DevOps 中创建新的 Azure 资源管理器服务连接时,您会收到以下错误; Failed to obtain the Json Web Token(JWT) using service principal client ID. Exception Message: Object reference not set to an instance of an object.

这只发生在我们的本地 Azure DevOps 服务器上 - 我可以在我们的 Dev.Azure.com 版本上创建具有相同设置的服务连接,而不会出现任何问题。

故障排除

  • 创建了多个服务主体
  • 尝试了不同的订阅
  • 尝试向订阅授予 SP Owner 权限
  • 即使您尝试重新验证现有服务连接,您也会收到相同的错误
  • 在 Dev.Azure.com 中工作
  • 没有关于我们的本地内容的网络更改
  • 仍然能够使用现有的服务连接执行发布(即使您无法验证它们)
  • 尝试按照我的 MS 故障排除页面的建议创建另一个秘密
  • 我有一个 PS 脚本,可以使用我创建的 SP 获取不记名令牌,并且该脚本有效

显然,我试过用谷歌搜索这个问题,它出现在几个地方,但没有一个有解决方案或理解它发生的原因......

TIA

4

2 回答 2

0

以下链接适用于您的问题的不同变体,但第一条评论建议可以运行的 Powershell 脚本可能会提供更多详细信息?

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/7537132d-a363-4868-86fa-c008de180ff1/failed-to-obtain-the-json-web-tokenjwt-for-service-principal?论坛=TFService

于 2021-02-12T13:42:39.723 回答
0

Azure DevOps OnPrem - 服务连接失败 - 无法获取 Json Web 令牌

根据官方文档Troubleshoot Azure Resource Manager service connections

这些错误通常在您的会话过期时发生。您可以参考此文档并按照以下步骤操作:

  1. 注销 Azure Pipelines 或 TFS。
  2. 打开 InPrivate 或隐身浏览器窗口并导航到 https://visualstudio.microsoft.com/team-services/
  3. 如果系统提示您退出,请执行此操作。
  4. 使用适当的凭据登录。
  5. 从列表中选择您要使用的组织。
  6. 选择要添加服务连接的项目。
  7. 通过打开设置页面创建您需要的服务连接。然后,选择Services> New service connection> Azure Resource Manager

您可以尝试在 Azure DevOps OnPrem 机器上运行以下脚本,并验证是否能够生成访问令牌。

获取AccessToken.ps1

于 2021-02-14T14:40:42.860 回答