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

Office JS SSO问题:跨组织用户无法通过Graph API获取信息

问题分析与解决方案

1. AADSTS70011错误根源

AADSTS70011错误源于请求的scope格式不符合Azure AD多租户授权要求,常见触发场景:

  • Yeoman模板默认生成的SSO代码可能采用单租户scope配置(如api://{client-id}/access_as_user),跨组织用户授权时未适配多租户格式。
  • fallback授权流中硬编码了单租户相关参数,未动态替换为common或organizations标识。

2. 支持跨组织用户的配置调整

要让插件兼容任意合法Office 365用户,需完成以下配置:

  • Azure应用注册调整:
    • 将应用租户类型切换为任何组织目录中的帐户(Azure门户>应用注册>概述>租户类型)。
    • 确保Microsoft Graph的委派权限(如User.Read)已添加并完成管理员同意(针对需全局授权的权限)。
  • 代码层面调整:
    • 重构scope参数,合并插件权限与Graph权限,格式示例:api://{client-id}/access_as_user https://graph.microsoft.com/User.Read。
    • 将授权请求的租户参数设为common,避免硬编码具体租户ID。
    • 检查fallback流代码,确保scope动态生成,无单租户硬编码值。

3. 本地开发与部署后的差异

本地开发与生产环境的SSO核心逻辑一致,差异仅在于配置细节:

  • 本地开发需在Azure应用注册的「身份验证」中添加https://localhost:3000/auth-callback类的本地回调URI;生产环境需替换为部署域名对应的回调地址。
  • 只要Azure应用注册配置为多租户且代码参数正确,生产环境完全支持跨组织Office用户,本地环境也可完成跨租户测试(微软的同组织测试仅为基础验证步骤)。

4. 验证步骤

  • 确认Azure应用注册的租户类型为多租户。
  • 检查scope参数是否包含正确的插件权限与Graph权限,格式合规。
  • 验证授权请求的租户参数为common,而非具体租户ID。
  • 确认Azure应用注册的重定向URI已覆盖本地与生产环境地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:52:16