gpt4 book ai didi

具有自定义域的用户的 Azure AD B2B 身份验证错误 - AADSTS65005 : Using application 'My Application' is currently not supported

转载 作者:行者123 更新时间:2023-12-05 07:32:46 26 4
gpt4 key购买 nike

我目前正在升级应用程序以启用 Multi-Tenancy 和 B2B 集成。

到目前为止,我遇到了以下类型的用户:

  • 内部 Azure AD 用户
  • 来自另一个租户的外部 Azure AD 用户
  • 个人 Microsoft 帐户
  • 用户 Gmail 用户

我现在尝试按照以下流程允许任何域的用户访问我的应用程序:

  1. 发送邀请至 [email protected] - 这有效
  2. 兑换来自 [email protected] 的邀请收件箱 - 这有效,我成功设置了关联的 Microsoft 帐户
  3. 使用 [email protected] 登录我的应用程序- 这不起作用,我收到以下错误:AADSTS65005:您的组织 abc.com 目前不支持使用应用程序“我的应用程序”,因为它处于非托管状态。管理员需要通过 abc.com 的 DNS 验证声明公司​​的所有权,然后才能配置应用程序“我的应用程序”

在本例中,abc.com 是外部合作伙伴。外部合作伙伴是动态的,并通过应用程序通过“域白名单”进行管理。因此,我现在可以拥有 abc.com,之后可以拥有 abcd.com、xyz.com 等。来自这些白名单域的用户可以通过应用程序 URL 自行注册。

有趣的是,gmail 用户工作,所以我假设流行域有一个内部 Azure AD 白名单?

更新:

Gmail 帐户能够正常工作是因为它们确实是在我的 Azure AD 中创建为 Microsoft 帐户。另一方面,abc.com 域帐户被创建为“外部 Azure Active Directory”帐户。 (源属性)

更新#2:

经过更多研究后,我发现它不起作用,因为我使用的通用端点不支持访客。更多详细信息请参见此处: Can users from an unmanaged Azure AD directory, sign into an Azure AD multi-tenant application which resides in a different directory?

现在我改用我的租户特定端点,如下所示:

Tenant specific endpoint: https://login.microsoftonline.com/{tenant-id}/v2.0

我可以使用 abc.com 的访客用户登录

但是 Microsoft 帐户现在停止工作。

                        AuthorizationCodeReceived = async (context) =>
{
...

var cca = new ConfidentialClientApplication(appId, redirectUri,
new ClientCredential(appSecret),
new SessionTokenCache(signedInUserID, context.OwinContext.Environment["System.Web.HttpContextBase"] as HttpContextBase));
await cca.AcquireTokenByAuthorizationCodeAsync(scopes, code);
},

等待 cca.AcquireTokenByAuthorizationCodeAsync(scopes, code) 失败并出现以下错误:

ErrorCode: invalid_grant
Message=AADSTS50020: MSA guest token redemption attempt on v2 common endpoint.

如何使其同时适用于自定义域 (abc.com) 的 guest 用户和现有 Microsoft 帐户?

最佳答案

原因:

您未获得 abc.com 租户的 Multi-Tenancy 应用的用户或管理员同意。也许该租户的设置不允许用户同意,只有管理员可以这样做。

对于 Multi-Tenancy 应用程序,如果其他租户的用户想要使用它,可能需要用户或管理员同意该应用程序。然后,将在该租户中自动创建服务主体。以便该租户中的用户可以使用该应用。

您可以在this documentation中查看有关 Multi-Tenancy 应用程序的用户或管理员同意的更多详细信息。 .

解决方案:

尝试在您的请求中添加 &prompt=admin_consent 以强制管理员同意。您需要使用一个管理员帐户登录并获得管理员同意。如果您是该租户的管理员,您还可以在企业应用程序>用户设置中启用用户可以同意

如果这有帮助,请告诉我!

关于具有自定义域的用户的 Azure AD B2B 身份验证错误 - AADSTS65005 : Using application 'My Application' is currently not supported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51063547/

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