azure - 为 Azure AD 的应用程序注册创建客户端凭据

标签 azure azure-active-directory asp.net-core-mvc microsoft-identity-platform

我创建了一个新的 ASP.NET Core MVC 6.0 Web 应用程序 >> 并将其定义为使用 Azure AD 进行身份验证,如下所示:-

enter image description here

enter image description here

然后我被要求创建拥有的应用程序,所以我创建了一个名为“ad”的应用程序,如下所示:-

enter image description here

enter image description here

在我的应用程序的应用程序设置中,我得到了这些设置:-

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "*****",
    "TenantId": "***",
    "ClientId": "***",
    "CallbackPath": "/signin-oidc"
  },

看来 Visual Studio 为我们做了所有的工作。但是当我访问 Azure 中的“ad”应用程序>>时,我发现该应用程序没有任何客户端凭据,所以这样可以吗,如下所示:-

enter image description here

第二个问题,如果我想定义凭据,似乎我有两个选择;创建客户端 key 或证书。那么它们之间有什么区别呢?如果我们添加客户端凭据,那么我们是否需要相应地更新我们的 asp.net 应用程序?

谢谢

最佳答案

请注意:客户端 key 和证书是 Azure AD 应用程序的密码,可用于对应用程序进行身份验证。

我尝试在我的环境中重现相同的结果,并得到如下结果:

您可以在创建应用程序时创建client_secret,如下所示:

enter image description here

appsettings.json 文件如下所示:

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "*****",
    "TenantId": "***",
    "ClientId": "***",
    "ClientSecret" : "***"
    "CallbackPath": "/signin-oidc"
  },

enter image description here

否则,您可以在 Azure 门户中手动生成客户端 key ,如下所示:

enter image description here

有关证书身份验证,请参阅此 MsDoc .

  • 为了证明应用程序身份,生成 token 时需要客户端 key 或证书。
  • 证书比客户端 key 更安全。
  • 证书比客户端 key 更昂贵。
  • 访问 API 时,需要客户端 key 。
  • 客户端 key 或证书为应用程序提供安全性,阻止匿名访问。

关于azure - 为 Azure AD 的应用程序注册创建客户端凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75334636/

相关文章:

c# - 为什么我在调用 RoleEnvironment.GetConfigurationSettingValue ("MYKEY"时收到 SEHException?

azure - 无法使用 powershell 向 azure 进行身份验证

c# - LogTrace 和 LogDebug 未出现在控制台或调试窗口中 - .NET 7.0 中的日志记录问题

c# - 如何在 ASP.NET Core 的 razor View 中渲染之前检查 View 组件是否存在

asp.net-mvc - .Net Core MVC 部署(发布)缺少 View

c# - Azure函数可选 "middle"路由参数

azure - 如何修复 azure 机器人服务的 slack channel 上的验证 token 错误?

c# - 部署到 Azure 应用服务的 WorkerService 未启动

Asp.net Web 表单(非 MVC)azure 事件目录身份验证

rest - 如何使用服务帐户通过 OAuth2.0 向 Azure AD 进行身份验证