在创建新的 AD 本地帐户之前,使用 REST API 到外部 IDP 以验证用户在 Azure B2C 中的 JIT 迁移中是否存在

问题描述

我正在尝试配置 Azure B2C 登录,旨在检查用户的现有 IDP,如果它们当前不作为本地帐户存在,则将它们添加为本地帐户。基本上我想:

  1. 查看B2C中的本地账号是否存在(确认匹配邮箱即可)
  2. 如果它们存在于本地帐户中,请继续登录
  3. 如果它们尚不存在,请向外部 IDP 调用 REST API,传递用户名(电子邮件)和密码并验证其身份验证。
  4. 如果对外部 IDP 的调用失败,请假设它们在任一系统中都不存在,并提示它们创建一个帐户(应该是本地帐户)。
  5. 如果呼叫外部 IDP 成功,请使用他们的电子邮件地址和他们输入的密码在 B2C 中创建一个本地帐户。

我认为这将被视为及时迁移。我看过这个 read me: https://github.com/azure-ad-b2c/user-migration/blob/master/jit-migration-v2/readme.md 并且它似乎是我需要的。然而,它似乎比我需要的更多,而且我在其他细节中迷失了方向。我真的只想停止迁移的登录。该示例还包括注册和密码重置流程。这篇文章似乎也很接近:Continue Azure B2C user journey on authentication failure 但它太稀疏了,我不知道它的解决方案有多完整。

所以我试图弄清楚逻辑的一部分需要什么符号。 jit-migration-v2 中的示例代码包含 5 个 XML 文件。都是需要的吗?或者,更好的是,需要示例中的哪些文件

似乎有很多活动部分,我只想将其减少到最低限度,以便我能够完全了解正在发生的事情以及原因。

解决方法

这五个文件是标准的入门包。

总是有四个流程:

  • 密码重置
  • 个人资料编辑
  • 注册/登录 (SUSI)

加:

  • 基础
  • 扩展

您不需要重置和编辑。您不需要上传它们。

您可以通过元数据标志将 SUSI 更改为仅执行 SU 或 SI。

SUSI 文件只是 RP,基本上定义了 JWT 中返回的声明。

它在基本文件中调用用户旅程“SignUpOrSignIn”,因此请按照此操作,您将看到流程如何进行。