Microsoft graph api 应用程序抛出错误代码:Authorization_RequestDenied 消息:权限不足,无法完成操作

问题描述 投票:0回答:1

我正在使用 microsoft graph api 应用程序来提取员工信息,但我不是 Azure 管理员。我的组织中的管理员已授予我附加权限。即使有严格的权限也会出现错误, 代码:Authorization_RequestDenied 消息:权限不足,无法完成操作。

我正确地获取了客户端。 您能帮忙解决这个错误吗?

azure microsoft-graph-api
1个回答
0
投票

注意:要访问用户信息,需要通过传递

User.Read.All
范围来生成访问令牌。

创建了 Microsoft Entra ID 应用程序:

enter image description here

使用以下端点生成访问令牌

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
&client_id=ClientID
&response_type=token+id_token
&redirect_uri=https://jwt.ms
&response_mode=fragment
&scope=openid offline_access User.Read.All
&state=12345
&nonce=12345

访问令牌和ID令牌已成功生成:

enter image description here

如果您使用 ID 令牌来访问用户信息,您将收到

401
错误,因此 使用访问令牌来获取用户详细信息

解码访问令牌并确保 aud 是 Microsoft Graph 并且

User.Read.All
范围存在:

enter image description here

通过上述访问令牌,我能够成功访问令牌用户信息

https://graph.microsoft.com/v1.0/users?$select=DisplayName,EmployeeId,employeeHireDate,employeeLeaveDateTime,employeeType

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.