如何获取登录我的 Web 应用程序的用户的帐户 ID(订阅 ID)和租户 ID?

How to get the Account Id (Subscription Id) and Tenant Id of a user logged in my Web Application?

作为参考,这是我之前在此处提出的问题的延续

我在 sample 的帮助下获得了访问令牌。

我现在还需要以编程方式获取已登录上述创建的 Web 应用程序的用户的订阅 ID 和租户 ID。

这些值将在我的 Powershell 函数应用程序中用于命令:

Connect-AzureAD -AadAcessToken $AccessToken -TenantId $TenantId -AccountId $AccountId

帐户 ID 是用户的 upn(电子邮件)。

使用GET https://graph.microsoft.com/v1.0/me?$select=userPrincipalName获取upn。示例 here.

var user = await graphClient.Me
    .Request()
    .Select("userPrincipalName")
    .GetAsync();

并使用GET https://graph.microsoft.com/v1.0/organization?$select=id获取租户ID。示例 here.

var organization = await graphClient.Organization
    .Request()
    .Select("id")
    .GetAsync();