gpt4 book ai didi

azure-active-directory - MS Graph,守护程序app 401在Files.ReadWrite.All上未经授权

转载 作者:行者123 更新时间:2023-12-04 04:40:25 28 4
gpt4 key购买 nike

更新:我已经收到Microsoft的通知,该问题是Graph API中的错误。他们正在研究解决方案。

我正在使用新的O2.0 v2.0 OAuth流程对我的应用进行身份验证以与Microsoft Graph一起使用,以使其能够列出任何用户文件,在任何用户OneDrive中下载和上传文件以及设置文件权限。这无需用户登录即可将其作为服务帐户/守护程序运行。

我已经在新的“应用程序注册”门户中设置了新的“融合应用程序”。我已经设置了所有必要的范围/应用程序许可权,包括Files.ReadWrite.All。 (我实际上选中了所有可能的框...)。在Microsoft Graph文档中,当调用我感兴趣的端点时,这应该是唯一必要的范围:

/v1.0/users/{userID}/drive
/v1.0/users/{userID}/drive/items/{ItemID}/children
/v1.0/users/{userID}/drive/items/{ItemID}/content
/v1.0/users/{userID}/drive/items/{ItemID}/invite
/v1.0/users/{userID}/drive/items/{ItemID}/createLink

然后,我遵循了 Client Credentials flow的文档,包括将Admin Consent授予该应用程序以供我的公司租户使用。

我已成功收到访问 token 。收到访问 token 后,我在 jwt.io处再次检查了该 token 实际上包含所有作用域(包括 Files.ReadWrite.All)。

我能够使用此访问 token 来获取任何用户的驱动器并列出所有用户文件(上面列出的前两个端点)。我也尝试过获取所有用户文件的缩略图,这些缩略图效果很好。但是,一旦我尝试下载文件,为文件添加权限或创建共享链接(上面列出的最后三个端点),我就会收到 401 Unauthorized错误。由此,我认为范围 Files.Read.All可以正常工作,但是范围 Files.ReadWrite.All无法正常工作。

至于我从 Scopes documentation可以理解的内容,我正在尝试使用的范围应该起作用。它在“需要管理员同意的仅应用程序权限”部分中,将 Files.ReadWrite.All描述为:

Allows the app to read, create, update and delete all files in all site collections without a signed in user.



我撞墙了。新的v2.0 OAuth token 和/或Microsoft Graph是否存在关于我缺少的仅应用程序访问的限制?

最佳答案

为那些在此问题上迷迷糊糊的人关闭循环。在上载或更改文件权限时,在仅应用程序的情况下Files.ReadWrite.All存在问题。

下载的问题无关。下载文件时出现授权错误是由于在下载请求中传递了Authorization header 。/content/端点返回一个可用于下载文件的URL。这是一个短时间存在的预授权URL。在该请求中传递Authorization header 会导致错误,因为它不希望收到这样的 header ,也无法确定应使用哪个凭据( super 简化,但这是一般思路)。

关于azure-active-directory - MS Graph,守护程序app 401在Files.ReadWrite.All上未经授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42439078/

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