You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Express MSAL开发的应用中,其他用户调用Graph API /me报403如何解决?

解决用户令牌缺失User.Read权限的问题

1. 完成管理员同意操作

你已经在Azure门户添加了Delegated类型的User.Read权限,但仅添加权限还不够——普通用户不会自动获得这个权限,只有应用的管理员/所有者登录时会默认获得同意。

  • 操作步骤:
    • 进入Azure门户→应用注册→找到你的应用→切换到「API权限」页面
    • 找到已添加的User.Read权限,点击右侧的「授予[你的租户名称]管理员同意」按钮
    • 确认弹窗提示后,租户内所有用户登录应用时都会自动获取该权限

2. 确保MSAL请求包含User.Read scope

检查你的Express应用代码,在获取Microsoft Graph访问令牌的请求中,必须明确把User.Read加入scope列表。比如:

  • 在调用MSAL的acquireTokenSilent或acquireTokenByCode方法时,scope参数要设置为:['openid', 'profile', 'email', 'User.Read']
  • 如果scope里漏掉User.Read,即使用户有管理员同意的权限,令牌里也不会包含该权限

3. 排查特殊用户限制(可选)

如果前两步操作后仍有问题,检查测试用户/同事的租户账号是否被限制访问Microsoft Graph的User.Read接口——不过这种场景很少见,优先处理前两项即可。

内容的提问来源于stack exchange,提问作者Chr1sCon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 16:55:25