通过 Microsoft Graph SDK 更新 Azure 应用程序

Updating Azure Application via Microsoft Graph SDK

我在登录服务主体的 .NET Core 3.1 项目中使用 Microsoft Graph SDK (https://github.com/microsoftgraph/msgraph-sdk-dotnet)。我可以检索 Azure 应用程序的 Web 回复 URL:

var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret, options);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
var rootItem = await graphClient.Applications.Request().GetAsync();
Microsoft.Graph.Application app = new Microsoft.Graph.Application();
            foreach (var item in rootItem)
            {
                if (item.DisplayName.Equals("MyApp"))
                {
                    app = item;
                }
            }

我能够很好地检索到实际的应用程序对象。我的问题是,如何通过 SDK 更新 app.Web.RedirectUris?我可以使用 az ad app update --id <my_app_id> --reply-urls <url_1> <url_2>

通过 Azure CLI 执行此操作

您需要获取特定 ApplicationMicrosoft.Graph.IApplicationRequestBuilder,然后调用 UpdateAsync() 方法。

var rootItem = await client.Applications.Request().GetAsync();
Microsoft.Graph.Application app = new Microsoft.Graph.Application();
foreach (var item in rootItem)
{
    if (item.DisplayName.Equals("MyApp"))
    {
        app = item;
        app.Web.RedirectUris = new List<string> { "uri1", "uri2" };
        await client.Applications[app.Id].Request().UpdateAsync(app);
    }
}