gpt4 book ai didi

microsoft-graph-api - 设置 Microsoft Graph 的范围参数

转载 作者:行者123 更新时间:2023-12-04 06:56:09 26 4
gpt4 key购买 nike

我已经在 apps.dev.microsoft.com 注册了一个应用程序

并将其权限设置为: Screen shot from apps.dev.microsoft.com panel

我得到了一个 token ,可以像这样使用 Microsoft Graph API:

https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service#4-get-an-access-token

我将范围设置为:scope=https://graph.microsoft.com/.default

我在没有 Directory.ReadWrite.All 许可的情况下取回了一个 token 。

如何使用 apps.dev.microsoft.com 门户下指定的权限修改请求以取回 token ?我应该更改范围参数吗?

我尝试按照在线建议使用 graph.microsoft.com/directory.readwrite.all,但没有任何运气。

最佳答案

要使用 schemaExtentions,您需要 Directory.AccessAsUser.All 范围。但是,您在这里遇到的问题是您使用的是 client_credentials grant(又名“App-Only Authentication”),它仅支持应用程序权限(其中 Directory.AccessAsUser.All 不是一个)。

为了使用任何委托(delegate)权限,您需要对用户进行身份验证,而不仅仅是对应用程序进行身份验证。委派权限就是用户在一段时间内委派(也称为转移/分配)给您的应用程序的权限。

这里有几个选项。如果您遇到的唯一问题是 schemaExtentions 并且您没有销售商业解决方案(ISV),那么您很可能一开始就不需要将其添加到您的应用程序中.相反,请尝试使用 Graph Explorer创建它们。

请注意,您需要先执行 Graph Explorer 的管理员许可,然后才能与您的租户一起使用。

另一种选择是在应用程序中同时支持 client_credentialcode 授权。如果您是销售商业解决方案的 ISV,这可能是最好的选择。执行此操作的最简洁方法是拥有一个由管理员执行的“设置”应用程序。管理员使用 code 授权对自己进行身份验证,然后您创建所有需要的扩展。此过程的好处是,它提供了一个干净且合乎逻辑的位置来启动您对生产应用程序所需的 client_credential 授权的管理员同意。

需要注意的一点是,您可以为 Auth Code 使用相同的 App ID , Implicit , 和 Client Credential赠款。根据您选择的授权,它将使用您定义的委托(delegate)或应用程序权限。这使得上述场景非常简单。

不幸的是,注册 UX 并没有很好地说明如何应用委托(delegate)和应用程序权限,导致许多用户认为这两个集合总是被使用。实际上,根据所使用的授权类型,每个适用的只有一组。一个异常(exception)是 Admin Consent,它同意所有请求的权限(即您不需要单独的委托(delegate)和应用程序同意流程)。

关于microsoft-graph-api - 设置 Microsoft Graph 的范围参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45549105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com