获得可用的强认证设备在jit迁移后失败



我们正在迁移到Azure AD B2C的过程中,并且正在使用基于这里的示例https://github.com/azure-ad-b2c/user-migration/tree/master/jit-migration-v1的迁移流程。

我们面临的问题是,有时在迁移和登录用户后,用户被发送到一个错误页面。查看Azure Portal中的审计日志,我们可以看到它在活动类型"获取可用的强认证设备"上失败了。服务器内部错误

它并不总是失败,有时一切正常,即使失败,迁移部分也按预期工作(用户可以从错误页面退出并再次登录,没有错误)。只有在用户迁移时才会发生这种情况,也就是说,一个正常的sign in总是有效的。

这个API调用基本上是这样做的:
  1. 检查用户是否已经迁移
  2. 如果未迁移,请验证签名名和密码
  3. 将用户添加到Azure AD B2C
  4. 等待几秒钟再返回(不知道是否真的需要,但示例代码也有这个)。

自定义策略基本上看起来像这里找到的模板:https://github.com/azure-ad-b2c/samples/tree/master/policies/totp.

唯一添加的是technicalprofile SelfAsserted-LocalAccountSignin-Email,它添加了validationtechnicalprofile来进行API调用。

<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
<Metadata>
<Item Key="setting.showSignupLink">false</Item>
</Metadata>
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="REST-UserMigration-LocalAccount-SignIn" ContinueOnError="false" />
<ValidationTechnicalProfile ReferenceId="login-NonInteractive" />
</ValidationTechnicalProfiles>
</TechnicalProfile>

有办法进一步解决这个问题吗?

该错误可能是由于AzureMfa-GetAvailableDevices技术配置文件未找到用户引起的。尝试增加创建后的等待时间。

相关内容

最新更新