晚安。
我正在编写一个包含HTTP API的后端,允许客户端通过提供的电话号码登录或注册。因此,此过程与传统的身份验证流程完全不同。
由于面向电话号码的身份验证不安全(但非常方便),您不能仅允许用户使用电话号码登录其他人帐户,这是电话号码回收案例中常见的情况({ {3}})。
这就是为什么我想通过要求用户在注册和帐户恢复期间指定他的电子邮件来模拟Lyft目前如何处理这一部分的原因(我想用智能手机中的额外魔术字符串进行登录)。 / p>
在我的Web API中,对于登录过程,用户会发送以下数据:电话号码,智能手机ID和短信验证ID和代码。 那时,身份验证的业务规则发挥了重要作用:
对于注册(注册),还有一组几乎相似的业务规则,注册过程还需要用户电子邮件以便以后进行帐户确认(和发票),此确认有效关联电话号码并通过该客户发送电子邮件。
以后可以使用相同的电子邮件来恢复帐户(如果用户切换了智能手机或号码),从而防止了与电话号码身份验证相关的常见问题。
我选择将Identity与我的域模型分离,后者名为 PhoneNumberAuth (我甚至创建了一个有界的上下文)。
我对此有很多疑问。 ASP.NET Identity它是以标准方式(电子邮件,外部等)进行身份验证的常用方法。
在一个或另一个案例中,我将最终使用授权的身份(角色,声明等)。 我只是希望得到帮助(或指南)以获得最佳解决方案。
[编辑] 我想要的一件事是生成电子邮件确认令牌,Identity提供了一种生成和管理它们的简便方法。但是为了实现这一点,很难将Identity与我的自定义身份验证集成在一起。