【发布时间】:2021-08-26 09:40:09
【问题描述】:
我有一个很奇怪的问题(我想是的)...我正在使用 Ionic Angular 构建一个 Web 应用程序,该应用程序需要向我们公司内的 SharePoint 网站提交信息。应用程序的身份验证使用Microsoft Authentication Library for Angular (v1) 处理,应用程序的用户可以是 AzureAD 来宾用户,也可以是实际的公司用户。该应用程序成功地验证了这两种类型的用户,并为他们颁发了一个 IDtoken 以及一个 accessToken。然后使用访问令牌对 SharePoint 网站中的特定列表执行 GET、PATCH 和 POST Graph API 请求。
如果我以完整用户身份登录...没有问题,应用程序可以成功地针对列表执行所有三种请求类型。但是,如果我以访客用户身份登录应用程序,我只能成功执行 GET 和 PATCH 请求,而不能成功执行 POST:
A Postman POST request using the access token retrieved via MSAL authentication
我已使用 https://jwt.ms 检查令牌内的范围,并确认存在以下范围:
- Sites.Manage.All
- Sites.Read.All
- Sites.ReadWrite.All
- User.Read profile openid email
列表的权限是通过 Azure AD 域/安全组和两者的成员身份授予的;完整用户和来宾用户都是成员。
为了进一步补充这一点,我已经以访客用户身份在线登录到 SharePoint 网站,我可以成功地查看、添加和编辑列表中的列表项,但我似乎无法通过 Graph API 执行此操作.
以前有没有人见过这种行为,或者有任何指示?
提前致谢。
这是我关于权限的应用注册设置: API Permissions
【问题讨论】:
标签: azure-active-directory microsoft-graph-api sharepoint-online