You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Service使用应用注册证书替代客户端密钥实现用户认证

用证书替代客户端密钥配置Azure App Service的Microsoft Entra认证

完全可行,以下是具体配置步骤:

1. 确认证书状态

登录Azure门户,进入对应的应用注册,在「证书和密码」页面确认已上传从Key Vault生成的证书,状态为有效,记录证书的指纹(Thumbprint)和应用注册的客户端ID。

2. 配置App Service访问Key Vault

  • 进入目标App Service的「身份」页面,启用系统分配的托管身份。
  • 打开对应的Key Vault,进入「访问策略」页面,添加新策略:选择App Service的系统托管身份,授予「证书权限」中的「获取」权限,保存策略。

3. 修改App Service认证配置

  • 进入App Service的「认证」页面,找到已配置的Microsoft Entra身份提供商,点击「编辑」。
  • 在「客户端凭据」区域,选择「证书」选项,填写:
    • 客户端ID:应用注册的客户端ID
    • 证书指纹:之前记录的证书指纹
    • 证书存储位置:选择「Key Vault」,输入Key Vault的名称
  • 保存配置。

4. 更新.NET 7应用配置(如需)

如果应用代码中存在硬编码的客户端密钥配置,需调整为证书模式:

  • 在appsettings.json中更新Azure AD配置:
"AzureAd": {
  "Instance": "https://login.microsoftonline.com/",
  "Domain": "your-domain.onmicrosoft.com",
  "TenantId": "your-tenant-id",
  "ClientId": "your-client-id",
  "ClientCertificates": [
    {
      "KeyVaultUrl": "https://your-keyvault-name.vault.azure.net/",
      "CertificateName": "your-certificate-name"
    }
  ]
}
  • 在Program.cs中确保认证服务正确加载证书:
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAd"));

验证配置

重启App Service,尝试登录应用,确认认证流程正常执行,无客户端密钥相关错误。

内容的提问来源于stack exchange,提问作者Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 11:24:52