public async Task <ServiceResponse <LoginDtoResponse> > LoginAsync(LoginDtoRequest dto) { var user = await _userManager.FindByEmailAsync(dto.Email); if (user == null) { return(new ServiceResponse <LoginDtoResponse>(HttpStatusCode.Unauthorized)); } var result = await _signInManager.CheckPasswordSignInAsync(user, dto.Password, false); if (result.Succeeded) { var responseDto = new LoginDtoResponse() { Id = user.Id, FirstName = user.FirstName, LastName = user.LastName, UserName = user.UserName, Email = user.Email, Token = _jwtGenerator.CreateToken(user), Role = user.Role, }; return(new ServiceResponse <LoginDtoResponse>(HttpStatusCode.OK, responseDto)); } return(new ServiceResponse <LoginDtoResponse>(HttpStatusCode.Unauthorized)); }
public async Task <ActionResult <LoginDtoResponse> > Login(LoginDtoRequest dto) { var response = await _userService.LoginAsync(dto); if (response.StatusCode == HttpStatusCode.OK) { return(Ok(response.ResponseContent)); } if (response.StatusCode == HttpStatusCode.Unauthorized) { return(Unauthorized(response.Message)); } return(BadRequest(response.Message)); }
public async Task <object> Login([FromBody] LoginDtoRequest loginDto) { // Sign in the user, don't persis cookies, don't lockout on failure var result = await _signInManager.PasswordSignInAsync(loginDto.UserName, loginDto.Password, false, false); if (result.Succeeded) { var user = await _usersService.GetByUserNameAsync(loginDto.UserName); return(await GenerateJwtToken(user)); } else { return(StatusCodeAndDtoWrapper.BuildErrorResponse("Invalid credentials")); } }