使用Azure SSO获取Access Token后调用Microsoft Graph API获取用户信息失败
排查Azure SPA调用Graph API /me接口返回UnknownError的步骤
以下是针对该问题的具体排查方向:
验证Access Token核心信息
用jwt.ms解析你的Access Token,重点检查:aud字段:必须等于https://graph.microsoft.com,否则说明获取Token时指定的资源/范围错误,导致Token并非用于Graph API。scp字段:必须包含User.Read(或其他所需的Graph权限),无对应权限会导致接口调用失败。exp字段:确认Token未过期。
检查Azure AD应用的API权限配置
结合你提供的设置截图确认:- 是否已添加Microsoft Graph的Delegated权限(比如
User.Read)? - 权限状态是否为“已授予”?若为租户级应用,需管理员完成权限同意;若为允许用户自行同意的权限,需确保用户登录时已授权该权限。
- 是否已添加Microsoft Graph的Delegated权限(比如
确认API请求格式正确性
确保请求头的Authorization格式完全合规:Authorization: Bearer {你的Access Token}注意
Bearer后必须带一个空格,且Token无多余换行或空格。同时确认请求方法为GET,URL准确为https://graph.microsoft.com/v1.0/me。排除环境与网络问题
用Postman等工具直接发起请求,排除前端代码编码问题;检查是否有代理、防火墙拦截了Graph API的请求。
内容的提问来源于stack exchange,提问作者Klick
相关产品推荐
相关产品推荐

