gpt4 book ai didi

sharepoint - OneDrive/SharePoint OAuth 无效受众错误

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

我的目标是编写一些代码,使 Office 365 用户能够通过 REST API 访问 OneDrive for Business 中的文件。我在 Azure AD(Web 应用程序/ Multi-Tenancy )中注册了一个应用程序,并添加了在线访问 SharePoint 的权限。我想使用“具有 OAuth 的委派用户身份”方案,其中我的应用程序使用用户模拟通过 REST API 访问 OneDrive for Business。

应用 list 中的权限如下所示:

“oauth2Permissions”:[
{
"adminConsentDescription": "允许应用代表登录用户访问 AppName。",
"adminConsentDisplayName": "AppName",
“id”:“xxx”,
“已启用”:真,
“起源”:“应用”,
“类型”:“用户”,
"userConsentDescription": "允许应用代表您访问 AppName。",
"userConsentDisplayName": "AppName",
“值(value)”:“用户模拟”
}

该应用程序请求(OneDrive For Business)用户登录到 Office365 以获取授权代码(发送到注册的重定向 URL)并使用它来检索访问 token (通过 POST 到我的应用程序的 token 端点)。返回的 JWT 中的“aud”字段设置为我的客户端 ID。对于 SharePoint Online,它应该是“00000003-0000-0ff1-ce00-000000000000”之类的东西吗?

当我尝试使用访问 token 作为请求 header 中的承载者在 https://{tenant}-my.sharepoint.com/_api/v1.0/me/发出 GET 时,我收到错误 401: “错误:无效的客户端”、“错误:无效的受众 URI:https://{tenant}-my.sharepoint.com/”。这指向某处的配置错误,但我无法弄清楚需要更改的内容。

最佳答案

aud = token 的受众。当 token 发布到客户端应用程序时,受众是客户端的 client_id。您可能想尝试使用 Discovery Service API 来检查您的服务端点 (https://msdn.microsoft.com/en-us/office/office365/howto/discover-service-endpoints)。错误显示受众 URI 无效,因此服务可能未在您调用的 URL 上运行(即 https://{tenant}-my.sharepoint.com/_api/v1.0/me/)。按照上面的链接应该可以帮助您隔离问题。我希望这会有所帮助。

关于sharepoint - OneDrive/SharePoint OAuth 无效受众错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29635758/

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