首页 > 解决方案 > 如何获取登录我的 Web 应用程序的用户的帐户 ID(订阅 ID)和租户 ID?

问题描述

作为参考,这是我之前的问题的延续, 如何创建 Azure Web 应用程序来验证用户并获取其访问令牌?

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

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

这些值将在我的 Powershell Function App 中用于 Command :

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

标签: azureazure-active-directoryazure-web-app-serviceaccess-tokenazure-ad-graph-api

解决方案


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

用于GET https://graph.microsoft.com/v1.0/me?$select=userPrincipalName获取upn。这里的例子。

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

并用于GET https://graph.microsoft.com/v1.0/organization?$select=id获取租户 ID。这里的例子。

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

推荐阅读