我试图为在Azure中注册的我的一个应用程序启用“ Sites.Manage.All”委派权限,以便与我的应用程序创建新的Sharepoint列表。
但是我收到错误消息“ 无法保存更改。当前不支持以下一种或多种权限:Sites.Manage.All。请删除这些权限,然后重试您的请求。[psMwx] ”
我使用的是应用程序所有者的帐户向api添加Delegated权限以在已登录用户的上下文中运行该应用程序,但仍然出现此错误,不确定我在这里缺少什么。
答案 0 :(得分:1)
这是因为您的Azure AD APP适用于任何组织目录(任何Azure AD目录-多租户)和个人Microsoft帐户(例如Skype,Xbox)中的帐户。
但是基于Sites permissions,个人Microsoft帐户不支持Sites.Manage.All委派权限。这是Microsoft Graph的局限性。
因此,有两种方法可以解决此问题:
答案 1 :(得分:0)
我最近有一个类似的问题。不特定于“ Sites.Manage.All”委派权限,但实际上具有我尝试添加的任何新权限。
这是针对已存在一段时间的应用程序注册的,具有Microsoft Graph的混合委派权限和应用程序权限,并带有标志“身份验证>默认客户端类型>将应用程序视为公共客户端” 设置为“是” 。
经过几次尝试和错误尝试后,我设法将问题定位到该标志。如果将其设置为“是”,则该注册将不允许任何“应用程序”权限,而仅允许“授权”。
由于我当前的应用程序注册已经设置了标志,并且还具有一些应用程序许可权,因此我无法再对其进行更改。 每次我尝试保存内容时,都会触发验证并失败。
这是新事物,因为直到几天前它都可以正常工作。 我认为这可能是Microsoft方面的错误,希望他们尽快解决。
不幸的是,因为我使用的是资源所有者密码凭证(ROPC)流,所以我需要将该应用程序视为公共客户端。 目前,我正在考虑将我的应用程序注册分为两个:一个用于委派权限,一个用于应用程序权限,然后在客户端上相应地使用每个注册。
远离理想……