是否可以使用 MSAL.NET 身份验证库来处理appCacheTokens,生成多租户守护服务应用程序(即客户端凭证授予).在这种情况下,我必须建立(n)数量的机密客户端应用程序,基于租户ID和需要维护的令牌。
var confidentialClientApplication_001 = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithTenantId("TenantId__001")
.WithClientSecret(clientSecret)
.Build();
var confidentialClientApplication_002 = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithTenantId("TenantId__002")
.WithClientSecret(clientSecret)
.Build();
... ... ...
var confidentialClientApplication_999 = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithTenantId("TenantId__999")
.WithClientSecret(clientSecret)
.Build();
本文档 已实施单项应用
你可以在获取令牌时指定不同的租户ID.
这应该可以。
var app = ConfidentialClientApplicationBuilder.Create("client-id")
.WithAuthority(AzureCloudInstance.AzurePublic, AadAuthorityAudience.AzureAdMultipleOrgs)
.WithClientSecret("secret")
.Build();
var result = await app.AcquireTokenForClient(new[]{"https://graph.microsoft.com/.default"})
.WithAuthority(AzureCloudInstance.AzurePublic, Guid.Parse("target-tenant-id"))
.ExecuteAsync();
所以我们指定 "组织 "作为应用授权,但在获取令牌时指定一个特定的租户。