Office Add-in SSO对接AzureAD后Word端无法实现单点登录问题咨询
Office Add-in SSO静默登录失败排查指南
Azure AD 应用注册侧遗漏配置
- 需正确添加自定义作用域
access_as_user,作用域前缀格式必须为api://<插件部署域名>/<Azure AD应用客户端ID>,域名需和插件实际部署的域名完全一致,本地测试时需包含对应端口号 - 必须完成Office客户端官方服务主体的预授权配置,为Office桌面端、网页端对应的官方应用ID授予
access_as_user权限,无需用户同意 - 需将令牌配置中的
accessTokenAcceptedVersion属性设置为2,确保返回的令牌格式符合Office SSO要求 - 单页应用类型的重定向URI配置必须和插件的登录回调地址完全匹配,不能存在路径、协议差异
插件清单配置问题
- 清单中
WebApplicationInfo节点配置需完全对应Azure AD应用信息:Id字段填Azure AD应用客户端ID,Resource字段填自定义作用域的前缀(即api://<插件部署域名>/<Azure AD应用客户端ID>) - 清单中声明的所需Graph权限,必须和Azure AD应用中申请的权限完全一致,权限类型、范围不能存在偏差
- XML清单需确保
WebApplicationInfo节点层级正确,无标签拼写错误
租户侧需确认的配置
- 租户管理中心需开启Office加载项的使用权限,路径为「设置 > 组织设置 > 服务 > Office 加载项」,确认自定义加载项启用开关为开启状态
- 若插件申请了需要管理员同意的权限,必须先由租户管理员完成租户级的管理员同意,普通用户无权限自行授权时会直接触发登录弹窗
- 需排除租户条件访问策略的影响:若存在针对Office 365应用的条件访问规则,需将你注册的SSO应用纳入适配范围,否则会拦截静默令牌请求
代码实现常见问题
- 调用
Office.auth.getAccessToken接口时,需显式设置allowSignInPrompt: false参数,否则Office会优先触发登录弹窗而非静默登录 - 需正确处理接口返回的错误码:错误码13001(用户未登录)、13002(用户未同意权限)、13003(权限不足)均为正常业务场景的fallback触发原因,不属于配置故障
- 本地开发测试时必须使用HTTPS协议,HTTP协议下Office会直接禁用SSO接口调用
内容的提问来源于stack exchange,提问作者in-pv
相关产品推荐
相关产品推荐

