以用户身份获取 Azure Active Directory 令牌

Get an Azure Active Directory token as a user

我希望能够在我作为用户时获得访问令牌(这意味着我只有用户名和密码)。 在所有相关主题中,我只看到他们尝试以应用程序的管理员身份获取令牌(例如,为了知道 clientId),但我可以在作为应用程序的用户时做同样的事情吗?

根据@Thomas的建议,您可以使用ROPC流程。

为了作为用户获得访问令牌,您仍然需要知道 client_idtenant_id[= 的值81=] 以及您的 UPN 和密码。

Client_Id - 您的应用程序 ID

Tenant_Id - 您的目录 ID

您可以通过以下方式从注册应用程序的人那里获取这些值: 转到 Azure 门户 -> Azure Active Directory -> 你的应用程序 -> 概述

获得这些值后,使用 Postman 生成访问令牌。

为此,POST 如下所示的 HTTP 请求需要 tenant_id 和如下参数:

https://login.microsoftonline.com/your_tenant_id/oauth2/v2.0/token
  • 在 Postman 中,转到 授权 选项卡并 select 输入 Oauth2.0

  • 访问 Headers 选项卡并包含 Content-Type 键,值为 application/x-www-form-urlencoded

  • Body选项卡中,包括client_id、grant_type、用户名、密码和范围等参数,如下所示:

  • 确保在发送请求之前授予管理员对范围中定义的所需 API 权限的同意。

  • 现在,发送请求,您可以成功获取访问令牌,如下所示:

想了解更多详情,请参考以下链接:

Sign in with resource owner password credentials grant - Microsoft identity platform | Microsoft Docs

Azure registered app error: The user or administrator has not consented to use the application with ID - Stack Overflow