如何为在Azure中注册的应用程序启用“ Sites.Manage.All”委派权限?

时间:2019-08-27 21:33:46

标签: azure azure-active-directory microsoft-graph

我试图为在Azure中注册的我的一个应用程序启用“ Sites.Manage.All”委派权限,以便与我的应用程序创建新的Sharepoint列表。

但是我收到错误消息“ 无法保存更改。当前不支持以下一种或多种权限:Sites.Manage.All。请删除这些权限,然后重试您的请求。[psMwx]

我使用的是应用程序所有者的帐户向api添加Delegated权限以在已登录用户的上下文中运行该应用程序,但仍然出现此错误,不确定我在这里缺少什么。

Error screenshot

2 个答案:

答案 0 :(得分:1)

这是因为您的Azure AD APP适用于任何组织目录(任何Azure AD目录-多租户)和个人Microsoft帐户(例如Skype,Xbox)中的帐户

personal Microsoft accounts

但是基于Sites permissions,个人Microsoft帐户不支持Sites.Manage.All委派权限。这是Microsoft Graph的局限性。 Sites.Manage.All

因此,有两种方法可以解决此问题:

  • 注册一个新的Azure AD应用,该应用是该组织中的帐户 仅目录(仅支持Dev聊天-单租户)任何组织目录(任何Azure AD目录-多租户)中的帐户
  • 通过替换来修改现有的Azure AD应用清单 带有“ AzureADMyOrg”的“ AzureADandPersonalMicrosoftAccount”或 “ AzureADMultipleOrgs”,并修改其值 “ accessTokenAcceptedVersion”从“ 2”到“ 1”。

答案 1 :(得分:0)

我最近有一个类似的问题。不特定于“ Sites.Manage.All”委派权限,但实际上具有我尝试添加的任何新权限。

这是针对已存在一段时间的应用程序注册的,具有Microsoft Graph的混合委派权限和应用程序权限,并带有标志“身份验证>默认客户端类型>将应用程序视为公共客户端” 设置为“是”

经过几次尝试和错误尝试后,我设法将问题定位到该标志。如果将其设置为“是”,则该注册将不允许任何“应用程序”权限,而仅允许“授权”。

由于我当前的应用程序注册已经设置了标志,并且还具有一些应用程序许可权,因此我无法再对其进行更改。 每次我尝试保存内容时,都会触发验证并失败。

这是新事物,因为直到几天前它都可以正常工作。 我认为这可能是Microsoft方面的错误,希望他们尽快解决。

不幸的是,因为我使用的是资源所有者密码凭证(ROPC)流,所以我需要将该应用程序视为公共客户端。 目前,我正在考虑将我的应用程序注册分为两个:一个用于委派权限,一个用于应用程序权限,然后在客户端上相应地使用每个注册。

远离理想……