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

c9x0cxw0  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(123)

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

然后,我被要求创建自己的应用程序,所以我创建了一个名为"广告"如下:-

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

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

所以似乎Visual Studio为我们做了所有的工作。但当我访问Azure内的"广告"应用程序〉〉我得到这个应用程序没有任何客户端凭据,所以这是罚款,如下:-

第二个问题,如果我想定义凭据,似乎我有两个选项;创建一个客户端密码或证书.那么它们之间有什么区别?如果我们添加一个客户端凭证,那么我们需要相应地更新我们的www.example.com应用程序吗?asp.net application accordingly ?
谢谢

brgchamk

brgchamk1#

    • 注意**:客户端密码和证书是Azure AD应用程序的一种密码,可用于对应用程序进行身份验证。
      我尝试在我的环境中重现相同的结果,结果如下:

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

    • appsettings.json**文件如下所示:
{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "*****",
    "TenantId": "***",
    "ClientId": "***",
    "ClientSecret" : "***"
    "CallbackPath": "/signin-oidc"
  },

    • 否则**,你可以在Azure门户中手动生成客户端密钥,如下所示:

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

  • 要证明应用程序标识,在生成令牌时需要客户端密码或证书。
  • 证书比客户端机密更安全。
  • 证书比客户端机密更昂贵。
  • 访问API时,需要客户端密码。
  • 客户端密码或证书为阻止匿名访问的应用程序提供安全性。

相关问题