dotnetcore 应用程序中的 AzureAD 客户端密钥已过期 - 错误代码:AADSTS7000222 - 如何更新?

问题描述

我从 2017 年 9 月以来未更改的 API 中收到以下错误。从那时起,我没有在 AzureDevOps 中运行任何管道。它托管在 IIS 中,我将代码保存在 AzureDevOps 中。还有一个 AzureAD,我用它来验证使用此 API 的应用程序(如果有的话)。

AADSTS7000222:InvalidClientSecretExpiredKeysProvided - 提供的客户端密钥已过期。访问 Azure 门户为您的应用创建新密钥,或考虑使用证书凭据来增加安全性:https://aka.ms/certCreds

这是一个 aspnetcore 应用程序。来自我的 project.json:

 "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6","portable-net45+win8"
      ]
    }
  },

在 config.json 文件一个 clientSecret: 值和 clientId: - 我假设我需要更新秘密值......但我不是真的确定实际上对应的是什么?我查看了组织中配置了此客户端机密的 AzureAD,但在任何地方都找不到它。我也查看了相关的管道,但也没有看到对它的引用。

我该怎么办?

解决方法

使用以下步骤为您的应用程序创建一个新的客户端密钥。

  1. 登录到您组织的 Azure 门户。
  2. 转到您组织的 Azure 广告。
  3. 在左侧菜单栏中,您将能够找到一个名为“App 注册”。导航到该菜单。
  4. 检查您是否可以在该部分下找到任何已注册的应用程序,并找到与您的托管应用程序相关的正确注册应用程序。
  5. 点击正确的注册应用程序。

enter image description here

  1. 在概览部分,您将能够找到客户 ID (应用程序 ID)。
  2. 然后点击证书和机密部分。
  3. 在客户端机密下,点击新建客户端机密以创建新机密。
  4. 为机密提供说明,并选择所需的到期时间间隔。
  5. 立即复制新密钥的值并将您的客户端密钥替换为新创建的客户端密钥值。