Azure B2C用户迁移令人困惑的演示代码

时间:2018-09-28 18:44:49

标签: azure-ad-b2c

为什么在Azure B2C迁移示例的this file中,MigrateUsersWithRandomPasswordAsync方法同时调用了两个方法:

'b2CGraphClient.CreateAccount()'

table.Execute(insertOperation);  

MigrateUsersWithPasswordAsync()上方的方法几乎只执行完全相同的操作:

b2CGraphClient.CreateAccount()

1 个答案:

答案 0 :(得分:0)

我曾考虑删除此问题,但是为了以防万一,我会留在这里。如果我会继续阅读有关如何迁移用户的教程found here,那么我会找到答案。

基本上,可以在本节的本教程中对其进行总结:

  

要跟踪密码更改,请使用Azure表。当您运行   使用命令行参数2进行预迁移过程,您将创建一个   Azure表中的用户实体。您的服务执行以下操作:

     
      
  • 在登录时,Azure AD B2C策略调用您的迁移RESTful   服务,发送电子邮件作为输入声明。服务   在Azure表中搜索电子邮件地址。如果地址   存在,该服务将引发错误消息:您必须更改密码。

  •   
  • 用户成功更改密码后,删除实体   从Azure表中。

  •   

对于可能仍然有挥之不去的问题的任何人,我都会感到沮丧:

使用临时密码迁移用户时,您需要为用户配置难以破解的随机密码,以使这些新帐户位于B2C中时,不会被黑客入侵。此临时随机密码不是您将发送给用户的密码,仅用于保护帐户。

在将用户添加到B2C帐户的同时,您还需要在名为“用户”的新Azure表中添加一个条目,该表仅包含用户的登录ID(意味着他们需要更改密码)。稍后,您将使用自定义登录策略,该策略将检查此表以查看该表中是否存在用户。如果是这样,他们将收到一条自定义消息,告诉他们更改密码并提供一个链接。实际上,该过程与“忘记密码”相同,该过程使用用户的电子邮件来帮助他们更改密码。

用户更改密码后,将删除他们在新Azure表中的条目,表示他们已更改了密码,并且将不再收到更改密码的消息。