public LoginResultDto LoginUser(string email, string password)
        {
            LoginResultDto loginResultDto = new LoginResultDto();
            List <User>    userList       = UserRepository.Find(u => u.Email == email && u.Password == password);

            if (userList.Count == 0)
            {
                return(null);
            }

            User user = userList.First();

            try
            {
                JwtTokenData jwtTokensData = TokenBusinessLogic.CreateJwtTokens(user);
                TokenBusinessLogic.AddNewToken(user, jwtTokensData.AccessToken, jwtTokensData.RefreshTokenSerial, jwtTokensData.RefreshToken);
                loginResultDto.AccessToken        = jwtTokensData.AccessToken;
                loginResultDto.RefreshTokenSerial = jwtTokensData.RefreshTokenSerial;
                return(loginResultDto);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
Beispiel #2
0
        public JwtTokenData CreateJwtTokens(User user)
        {
            var(accessToken, claims) = GenerateAccessToken(user);
            var(refreshTokenValue, refreshTokenSerial) = GenerateRefreshToken(user);
            var token = new JwtTokenData
            {
                AccessToken        = accessToken,
                RefreshToken       = refreshTokenValue,
                RefreshTokenSerial = refreshTokenSerial,
                Claims             = claims
            };

            return(token);
        }