当用户名不是电子邮件地址时,两因素身份验证不将代码发送到电子邮件

时间:2018-09-19 05:48:24

标签: c# owin asp.net-identity-2

我正在通过电子邮件使用Owin Identity 2.0进行两因素身份验证,由于我的ApplicationUser模型具有UserName和Email属性,因此在发送电子邮件时遇到问题。如果UserName不是电子邮件地址,则代码不会发送到电子邮件地址,但是如果UserName是电子邮件地址,则可以正常工作。 任何可能的解决方案将不胜感激。

if (!ModelState.IsValid)
        {
            return BadRequest();
        }
        try
        {
            if (await SignInManager.SendTwoFactorCodeAsync(model.SelectedProvider))
            {
                Logger.Info("Email sent to " + model.UserName);
                return new { Sent = true };
            }
            Logger.Info("Email not sent to " + model.UserName);
        }
        catch (Exception e)
        { Logger.Error(e.Message); }
        return new { Sent = false };

1 个答案:

答案 0 :(得分:1)

您说,您具有UserName属性和Email属性。为什么不只使用电子邮件地址而不是用户名呢?