Ejemplo n.º 1
0
        public async Task <User> GetByUsername(UserLoginReqDto userLogin)
        {
            if (userLogin == null)
            {
                throw new ArgumentNotDefinedException();
            }

            return(await unitOfWork.UserRepository.GetByUsername(userLogin.Username));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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());
        }