public async Task <IActionResult> LoginViaSmsCode(LoginViaCodeInputModel parameters) { if (!ModelState.IsValid) { return(BadRequest(ModelState.Values.SelectMany(state => state.Errors) .Select(error => error.ErrorMessage) .FirstOrDefault())); } var user = await _userManager.FindByPhoneNumberUniqueOrDefaultAsync(parameters.Key); if (user == null) { return(BadRequest("User does not exist")); } var singInResult = await _signInManager.CheckPasswordSignInAsync(user, parameters.Code, false); if (!singInResult.Succeeded) { return(BadRequest("Invalid password")); } await _signInManager.SignInAsync(user, parameters.RememberMe); return(Ok()); }