如何从ASP .Net Web App获取天青帐户租户明智令牌

时间:2020-08-13 10:28:41

标签: c# asp.net asp.net-mvc azure jwt

我有带有ASP .Net MVC的应用程序。我需要从Azure服务管理API获取租户明智的订阅列表。这可以通过-> https://docs.microsoft.com/en-us/rest/api/resources/subscriptions/list#code-try-0

完成

我可以从Web应用程序中获取具有'user_impersonation'范围的令牌。为此,我只能获得默认帐户租户订阅列表。但是我想从另一个可以从我的帐户访问的租户的订阅列表中。 Microsoft从https://token.docs.microsoft.com/accesstokens获得了那些租户明智的令牌数组。它为我有权订阅的每个租户接收令牌数组。这些令牌对于获取租户明智的订阅列表非常有用。

MS API DOC Multi tenant Screenshot

请参考我用于获取令牌的代码。

string token = await GeAccessToken(new string[] { "https://management.core.windows.net//user_impersonation" });

private async Task<string> GetAccessToken(string[] scopes)
{
    IConfidentialClientApplication cc = MsalAppBuilder.BuildConfidentialClientApplication();
    IAccount userAccount = await cc.GetAccountAsync(ClaimsPrincipal.Current.GetMsalAccountId());

    Microsoft.Identity.Client.AuthenticationResult result = await cc.AcquireTokenSilent(scopes, userAccount).ExecuteAsync();
    return result.AccessToken;
}

我需要知道如何从应用程序中获取该令牌数组。 How to get all Azure AD account list using token generated by user_impersonation scope on /common endpoint(相同的问题。但没有答案)

0 个答案:

没有答案