public async Task <AuthenticationResult> AuthenticateAsync(UserAccountAuthenticationRequest request) { var user = await _userManager.FindByNameAsync(request.Username); if (user == null) { return(new AuthenticationResult { Errors = new[] { "User does not exist" } }); } var userHasValidPassword = await _userManager.CheckPasswordAsync(user, request.Password); if (!userHasValidPassword) { return(new AuthenticationResult { Errors = new[] { "User/password combination is wrong" } }); } return(await GenerateAuthenticationResultForUserAsync(user)); }
public async Task <IActionResult> Authenticate([FromBody] UserAccountAuthenticationRequest request) { var authResponse = await _userAccountService.AuthenticateAsync(request); if (!authResponse.Success) { return(BadRequest ( new AuthFailedResponse { Errors = authResponse.Errors } )); } return(Ok ( new AuthSuccessResponse { Token = authResponse.Token, RefreshToken = authResponse.RefreshToken } )); }