0

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

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. 为什么这样?

4

1 回答 1

1

Domain.ReadWrite.All是一个应用程序范围(客户端凭据流,也称为仅限应用程序),并且您正在尝试在委派的身份验证流中让用户同意该范围。

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

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

编辑:更新为 domain.readwrite.all

于 2019-03-05T19:32:14.643 回答