public async Task <User> GetByUsername(UserLoginReqDto userLogin) { if (userLogin == null) { throw new ArgumentNotDefinedException(); } return(await unitOfWork.UserRepository.GetByUsername(userLogin.Username)); }
private async Task <(bool, User)> IsValidUser(UserLoginReqDto login) { var user = await userService.GetByUsername(login); if (user == null) { return(false, user); } bool isValid = passwordService.Check(user.Password, login.Password); return(isValid, user); }
public async Task <IActionResult> Authentication(UserLoginReqDto login) { var validation = await IsValidUser(login); if (validation.Item1) { var tokens = await tokenService.GetAuthTokens(validation.Item2); SetTokenCookie(tokens.RefreshToken); return(Ok(new { Token = tokens.JwtToken })); } return(Forbid()); }