public async Task <ActionResult <UserAuthenticateResponseModel> > Authenticate( [FromBody] UserAuthenticateRequestModel model) { UserAuthenticateServiceModel userAuthenticateServiceModel = _mapper .Map <UserAuthenticateRequestModel, UserAuthenticateServiceModel>(model); UserTokenServiceModel userTokenServiceModel = await _userService .AuthenticateAsync(userAuthenticateServiceModel); if (userAuthenticateServiceModel == null) { return(Unauthorized(new { message = "Username or password is incorrect" })); } UserAuthenticateResponseModel userAuthenticateResponseModel = _mapper .Map <UserTokenServiceModel, UserAuthenticateResponseModel>(userTokenServiceModel); return(Ok(userAuthenticateResponseModel)); }
public async Task <UserTokenServiceModel> AuthenticateAsync(UserAuthenticateServiceModel userAuthenticateServiceModel) { User user = await _userManager.FindByEmailAsync(userAuthenticateServiceModel.Email); UserTokenServiceModel userTokenServiceModel = _mapper.Map <User, UserTokenServiceModel>(user); SignInResult result = await _signInManager.PasswordSignInAsync( user.UserName, userAuthenticateServiceModel.Password, true, false ); string token = GenerateJsonWebToken(user); userTokenServiceModel.Token = token; return(userTokenServiceModel); }