在线Sharepoint“不支持的应用专用令牌”。

时间:2019-06-10 12:37:04

标签: azure sharepoint azure-active-directory

通过调用范围为https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token的{​​{1}},我得到了一个承载令牌

这是Azure AD中已注册应用程序的令牌。

当我使用该令牌进行API调用时,如https://{tenantName}.sharepoint.com/.default 我只发表https://infoinnobake.sharepoint.com/_api/search/query?querytext='contentclass:STS_Site contentclass:SP.Webb'&selectproperties='Title,Path'&rowlimit=500

可以解释为什么吗?是否可以通过Azure AD上已注册的应用程序访问sharepoint在线API?

2 个答案:

答案 0 :(得分:0)

在此遵循本指南: https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azuread

您需要创建证书并将证书上传到注册的应用程序。比起您可以使用各种编程语言使用API​​或SharepointClient

答案 1 :(得分:0)

在使用基于应用的、基于 ClientID / ClientSecret 的身份验证时,我们遇到了类似的问题(错误消息略有不同:“Token type is not allowed”)最近创建的租户。在我们的旧租户(创建于 2013 年)中,我们可以毫无问题地使用相同的身份验证方法。事实证明,新租户在 DisableCustomAppAuthentication 属性中有一个标准设置,禁用这种身份验证,但是可以使用以下命令覆盖它:

Set-SPOTenant -DisableCustomAppAuthentication $false

来源:

https://sharepoint.stackexchange.com/questions/284402/sharepoint-online-authorization-issue-token-type-is-not-allowed

https://sharepoint.stackexchange.com/questions/286693/getting-invalid-request-token-type-is-not-allowed-error-while-accessing-lists

此外:

https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs

<块引用>

Azure Access Control (ACS),Azure Active Directory (Azure AD),已于 2018 年 11 月 7 日退休。此退休不 影响 SharePoint 加载项模型,该模型使用 https://accounts.accesscontrol.windows.net 主机名(不是 受此退休影响)。有关更多信息,请参阅影响 SharePoint 外接程序的 Azure 访问控制停用。 对于新 租户,使用 ACS app-only 访问令牌的应用程序被禁用 默认值。 我们建议使用 Azure AD 应用程序专用模型,它是 现代,更安全。 但是你可以通过运行来改变行为 ‘set-spotenant -DisableCustomAppAuthentication $false’(需要 最新的 SharePoint 管理 PowerShell)。

更多详情:

https://www.koskila.net/literally-breaking-changes-to-app-authentication-on-sharepoint-%F0%9F%98%B5