Azure AD OAuth与ADAL的身份验证:什么';资源ID是什么?
我正在尝试从外部应用程序访问SharePoint[联机]REST API。我已在Azure中以管理员帐户注册了它,并为其分配了相应的用户委派权限(Azure AD OAuth与ADAL的身份验证:什么';资源ID是什么?,azure,sharepoint,oauth,office365,adal,Azure,Sharepoint,Oauth,Office365,Adal,我正在尝试从外部应用程序访问SharePoint[联机]REST API。我已在Azure中以管理员帐户注册了它,并为其分配了相应的用户委派权限(Office 365 SharePoint Online) 我使用ADAL.js调用acquireToken,并在我的Authorization头中使用该令牌。正在连接一个外观有效的令牌,但我在响应中收到以下401错误: 引发了类型为“Microsoft.IdentityModel.Tokens.AudienceEurivalidationFailed
Office 365 SharePoint Online
)
我使用ADAL.js调用acquireToken
,并在我的Authorization
头中使用该令牌。正在连接一个外观有效的令牌,但我在响应中收到以下401错误:
引发了类型为“Microsoft.IdentityModel.Tokens.AudienceEurivalidationFailedException”的异常
acquireToken()方法确实采用了一个资源
参数,根据我在线阅读的内容,SharePoint API的此值应该是https://[tenant].SharePoint.com
,但它只返回一个null
承载令牌
我所做的是(触发之前的401错误)简单地将资源设置为Azure中生成的应用程序ID。它最终被设置为本地存储缓存中的令牌。因此,承载令牌确实返回,但我得到了一个例外
两个问题:
谢谢 要使用SharePoint online REST,我们可以使用发现服务REST来查找SharePoint服务端点。您可以从响应的serviceResourceId中找到所有服务资源id
您还可以考虑使用Office 365和其他微软云服务通过单个端点公开多个API。
有关discovery service REST API的更多详细信息,您可以参考。您知道这一点吗?我也有同样的问题。我看到返回了一个额外的响应头(x-ms-diagnostics:3000003;reason=“无效的访问群体Uri”f8f8d2ad-7c9d-4aac-80eb-3f00a263c879”。“类别=“无效的客户端”)