Azure AD B2C 与 Azure AD 多租户 - 始终选择 MS 帐户登录的选项?

Phi*_*ung 0 azure azure-active-directory azure-ad-b2c

我正在使用此处找到的 Azure AD 多租户自定义策略和 Azure B2C 进行登录。我遇到的问题是,当单击登录按钮时,系统过于渴望登录用户。我的意思是,如果加载并找到了一个 Azure AD Cookie,则 B2C 会尝试立即登录该用户,如果不是由自定义策略授权的 Azure AD 租户,则 B2C 会将其循环回来到登录屏幕。

我的 cookie 知识基于此处的图表: https: //learn.microsoft.com/en-us/azure/active-directory-b2c/session-overview(如果我错了,请纠正我)。

我知道要解决这个问题,我们可以访问 Portal.office.com 并登录,这会设置另一个 cookie,然后返回 B2C 时,用户再次登录,并会看到帐户选择器屏幕,并且可以选择授权一。

我想做的是始终为他们提供此选项来选择他们登录的帐户,以避免出现此问题。我注意到在https://portal.azure.com上登录时,我总是(或几乎总是)看到 帐户选择器屏幕

有没有办法将此屏幕添加为用户旅程/自定义策略的一部分?我可以点击一个端点来显示此屏幕吗?

Jas*_*SFT 6

添加如下输入声明并将其添加到您的 AAD IdP 声明提供商:

\n
 <InputClaims>\n        <InputClaim ClaimTypeReferenceId="prompt" PartnerClaimType="prompt" defaultValue= "select_account"/>\n      </InputClaims>\n
Run Code Online (Sandbox Code Playgroud)\n

并定义一个名为 \xe2\x80\x9cprompt\xe2\x80\x9d 的声明,类型为字符串。

\n

当用户选择使用 AAD 登录时,这指示 AAD B2C 将提示参数发送到 AAD。在 AAD,他们\xe2\x80\x99 将看到帐户选择屏幕。

\n

在 AAD B2C 中,如果找到 AAD B2C cookie,并且找到匹配的声明提供商技术配置文件 ID,则 AAD B2C 会自动将用户转发到该联合 Idp。如果用户以其他方式到达 AAD B2C,他们\xe2\x80\x99 将看到正常的登录屏幕。

\n

要强制执行不同的行为,您可以发送提示参数:&prompt=login 或 &prompt=select_account,这将忽略任何 AAD B2C 会话 cookie。

\n

AAD 和 AAD B2C cookie 是独立的,不知道其他 cookie。

\n

  • 这对我来说是可行的解决方案,但需要一些小的注意。对于那些像我一样遇到验证问题的人: - `DefaultValue` 应该采用 CamelCase - 您必须向基本文件添加一种声明类型 (2认同)