Microsoft Graph 范围 "Domain.ReadWrite.All"

Microsoft Graph scope "Domain.ReadWrite.All"

为什么我无法为 url 设置范围 Domain.ReadWrite.All,例如:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=MY_APP_ID&response_type=code&state=12345&response_mode=query&redirect_uri=https%3A%2F%2Flocalhost%3A44331%2F&scope=domain.readwrite.all

无效。

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=MY_APP_ID&response_type=code&state=12345&response_mode=query&redirect_uri=https%3A%2F%2Flocalhost%3A44331%2F&scope=user.read

有效。 它也适用于 directory.readwrite.all 和任何其他,但不适用于 domain.readwrite.all。为什么会这样?

Domain.ReadWrite.All 是一个应用程序范围(客户端凭据流,也称为仅限应用程序),您正试图让用户同意委托授权流程中的该范围。

要使用 Domain.ReadWrite.All,您需要使用管理员同意端点进行管理员同意,如下所示:

GET https://login.microsoftonline.com/{tenant}/adminconsent ?client_id=6731de76-14a6-49ae-97bc-6eba6914391e &state=12345 &redirect_uri=https://localhost/myapp/permissions

已编辑:更新为 domain.readwrite.all