Php 请求访问资源时出错AADSTS50020https://graph.windows.net/
。我正在尝试在我的PHP web应用程序上实现“使用O365帐户登录”功能 当我的应用程序请求访问Graph API资源时(Php 请求访问资源时出错AADSTS50020https://graph.windows.net/,php,azure,oauth,office365,azure-active-directory,Php,Azure,Oauth,Office365,Azure Active Directory,。我正在尝试在我的PHP web应用程序上实现“使用O365帐户登录”功能 当我的应用程序请求访问Graph API资源时(https://graph.windows.net/),似乎只有管理员才能允许访问。如果非管理员试图完成OAuth工作流,则他们会从login.windows.net获得以下错误: AADSTS50020: This operation can only be performed by an administrator. Sign out and sign in as an
https://graph.windows.net/
),似乎只有管理员才能允许访问。如果非管理员试图完成OAuth工作流,则他们会从login.windows.net获得以下错误:
AADSTS50020: This operation can only be performed by an administrator. Sign out and sign in as an administrator or contact one of your organization's administrators.
我并不是真的想访问目录中所有用户的详细信息(我可以理解这样的要求管理员权限的信息),而是当前登录用户(管理员或非管理员)的姓名/电子邮件
因此,我需要基本上任何O365用户能够允许我的应用程序读取他们的基本配置文件信息。Graph API是正确的方法吗?要实现这一点,我需要采取哪些不同的措施?如果将“scope=openid”添加到OAuth令牌请求中,来自AAD的响应应该包含一个“id\u令牌”密钥。该键的值是一个未签名的JWT令牌,在该令牌中,您可以找到有关用户的以下属性(如果这些属性在目录中可用):
- oid=目录对象ID
- tid=用户是其成员的租户id GUID
- iss=发行人
- upn
- 电子邮件
- 主题
- 姓名
- 姓