在一个特定的客户租户上,当我们使用 Microsoft Graph 连接作为 Teams 频道选项卡托管 SPFx Webpart 时,我们会收到 403 未经授权的异常。
复制步骤:
- 创建 SPFx (1.10) 解决方案,包括使用默认 Microsft Graph 客户端执行 GET https://graph.microsoft.com/v1.0/me调用的 Web 部件,请求所需的权限
- 将 SPFx 解决方案添加到应用程序目录,租户部署检查处于活动状态
- 在租户 SharePoint 管理员中批准 MS Graph 权限
- 将解决方案同步到 Teams -> OK
- 将 Web 部件添加到 SharePoint 页面 -> 确定
- 将 Web 部件添加为团队频道中的选项卡
- 查看 Teams Web 客户端中的选项卡 -> 确定
- 查看 Teams 桌面客户端中的选项卡 -> 不正常 -> MS Graph 数据无法加载
我们已经做了以下事情:
- 使用 Fiddler 检查网络跟踪,我们看到以下请求:
https://{mytenant}.sharepoint.com/sites/{mysite}/_api/Microsoft.SharePoint.Internal.ClientSideComponent.Token.AcquireOBOToken?resource=%27https://graph.microsoft.com%27&clientId={GUID of SharePoint Online Client Extensibility AAD app registration}
具有以下响应:{"odata.error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have permission to perform this action or access this resource."}}}
- 在 preAuthorizedApplications 条目中检查了“SharePoint Online 客户端可扩展性 Web 应用程序主体”的清单以获取正确的 user_impersonation id -> OK
- 在其他租户中尝试相同 -> 没有问题
一些没有帮助的参考: