Скорее всего, вы используете asp.net удостоверение.В asp.net удостоверение использует класс signinmanager
var result = await _signInManager.PasswordSignInAsync
Метод PasswordSignInAsync перегружен как
_signInManager.PasswordSignInAsync(string UserName, string Password, bool RememberMe,
bool lockoutOnFailure);
или
_signInManager.PasswordSignInAsync(TUser User, string Password, bool RememberMe,
bool lockoutOnFailure);
По умолчанию используется первый метод с string username
.Вы можете использовать второй метод после присвоения User
с электронной почтой или номером телефона.
Чтобы найти пользователя, вы можете использовать UserManager (для этого также необходимо выполнить внедрение зависимостей).Попробуйте следующее:
var currentUser= await _userManager.FindByEmailAsync(String email);
var result = await _signInManager.PasswordSignInAsync(currentUser, Input.Password, Input.RememberMe, true);