oauth1 中的多租户身份验证问题

Posted

技术标签:

【中文标题】oauth1 中的多租户身份验证问题【英文标题】:multitenant authenticate issue in oauth1 【发布时间】:2022-01-20 08:38:53 【问题描述】:

我有 azure 中的多租户应用程序。我已授予以下权限。

但是我收到了这个错误。我尝试了几种授予权限的方法,但没有奏效。

访问令牌未生成。

如果我使用此 URL,则可以正常工作。 https://login.microsoftonline.com/common/oauth2/v2.0/authorize

但我必须在下面使用。因为 v2.0 不支持我的应用程序。 https://login.microsoftonline.com/common/oauth2/authorize

有没有办法解决这个问题。

【问题讨论】:

您好@AlexDemo,如果我的回答对您有帮助,您可以投票并接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢。 【参考方案1】:

• 您收到此错误是因为管理员仍未授予应用程序请求访问用户所需数据的权限。您可以通过导航到注册此应用程序的租户来授予管理员对请求的同意。然后转到 Azure AD --> 应用程序注册 --> 选择应用程序 --> API 权限(在管理部分下) --> 检查带有警告标志的权限,然后单击“授予 'tenant_name' 的管理员同意”选项以上。

• 此外,然后转到 Azure AD 中的企业应用程序--> 选择应用程序--> 权限(在安全下)--> 单击“管理员同意”选项卡下的“为‘tenant_name’授予管理员同意”选项。请找到以下屏幕截图以供参考:-

这将确保应用程序通过要登录的用户发出的管理员同意请求得到适当的同意,并授予应用程序访问租户资源的权限。

另外,请确保您的应用程序清单中存在以下设置以进行应用程序注册,即您的应用程序清单中的 accessTokenAcceptedVersion 应为“2”。

请参考此文档链接以供参考:-

https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent

【讨论】:

以上是关于oauth1 中的多租户身份验证问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 Requests-OAuthlib 的 OAuth1 身份验证失败

.net 核心 API 中的混合身份验证

为多租户实施 Okta 身份验证

多租户的 Firebase 身份验证和 Apple 登录

烧瓶中的多用户身份验证

如何在 .NET Core Web 应用程序的单个实例中使用动态租户对 Azure Active Directory 中的用户进行身份验证?