【问题标题】:Updating Azure AD Application via C#通过 C# 更新 Azure AD 应用程序
【发布时间】:2022-01-06 04:43:43
【问题描述】:

我已有一个 Azure AD 应用程序。我希望能够通过 C# 代码更新它,就像我通过 Azure CLI 所做的那样。我只需要向应用程序添加两个新的回复 URL。

通过我使用的 Azure CLI:

az ad app update --id <my_app_id> --reply-urls <url_1> <url_2>

如何在 C# 代码中获得等价物?我发现 Azure SDK 没有提供这样的功能,或者至少我找不到。 我有一个服务主体,我希望通过它完成此操作。

【问题讨论】:

  • 你可以使用Microsoft Graph .NET Client Library来做到这一点。
  • 我会调查的,谢谢
  • 我找到了可以解决你的问题的graph api,如果你需要在这里使用asp.net core SDK?

标签: c# azure azure-active-directory azure-sdk-.net


【解决方案1】:

这是我想出的一个解决方案,原来你可以使用System.Diagnostics.Process 通过 C# 调用 CMD.exe 并通过那里使用 cli:

string strCmdText;
            strCmdText = "/C az login --service-principal -u <client_id> -p <client_secret> --tenant <tenant_id>";
            System.Diagnostics.Process.Start("CMD.exe", strCmdText);
            System.Diagnostics.Process.Start("CMD.exe", "/C az ad app update --id <app_id> --reply-urls https://testfromcsharp.com/");

它成功了。

编辑:最好的解决方案是在我的 .NET 项目中使用 Microsoft Graph SDK,并通过它验证/调用函数。 https://docs.microsoft.com/en-us/graph/sdks/sdks-overview

【讨论】:

    【解决方案2】:

    您可以使用此graph api 来更新您的 azure 广告应用程序。请注意,请求网址中使用的application id 是天蓝色广告的对象ID 应用程序,但不是应用程序 ID。

    您可以先调用Get https://graph.microsoft.com/v1.0/applications/object_id_here 获取此应用当前的web 声明,应该类似于

    {
        "web": {
            "homePageUrl": null,
            "logoutUrl": null,
            "redirectUris": [
                "http://localhost:3000"
            ],
            "implicitGrantSettings": {
                "enableAccessTokenIssuance": true,
                "enableIdTokenIssuance": true
            }
        }
    }
    

    然后您修改redirectUris 属性,使用您想设置给应用程序的所有网址,请注意此更新将涵盖所有原始重定向网址。然后复制json内容,调用PATCH请求更新api。

    【讨论】:

      猜你喜欢
      • 2017-06-29
      • 2016-10-16
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多