public AuthTokenDto LogIn(LogInDataDto loginData)
        {
            var user = data.UserRepository.GetByUsername(loginData.Username);

            if (user.Password != loginData.Password)
            {
                throw new AuthenticationException("Invalid password");
            }

            var token = tokenService.CreateToken(loginData);

            return(token);
        }
Пример #2
0
        public IActionResult LogIn([FromBody] LogInRequestModel loginRequestData)
        {
            var loginData = new LogInDataDto
            {
                Username = loginRequestData.UserName,
                Password = loginRequestData.Password
            };

            var token = logInService.LogIn(loginData);

            return(Ok(new AuthenticationResponseModel {
                Token = token.Value
            }));
        }
        public AuthTokenDto Register(RegistrationDataDto registerData)
        {
            var user = new UserDataModel
            {
                UserName = registerData.UserName,
                Password = registerData.Password,
                //MoneyBalance = registerData.MoneyBalance
            };

            data.UserRepository.Add(user);
            data.SaveChanges();

            var loginData = new LogInDataDto
            {
                Username = registerData.UserName,
                Password = registerData.Password
            };

            var token = authenticationTokenService.CreateToken(loginData);

            return(token);
        }
        public AuthTokenDto CreateToken(LogInDataDto loginData)
        {
            var value = $"{loginData.Username}-{loginData.Password}";

            var existingToken = this.tokens.FirstOrDefault(x =>
                                                           this.tokenEncryptionService.Decrypt(x.Value) == value);

            if (existingToken == null)
            {
                var encryptedValue = this.tokenEncryptionService.Encrypt(value);
                var token          = new AuthTokenDto(
                    encryptedValue,
                    DateTime.Now.AddMinutes(relogTimeMinutes));

                this.tokens.Add(token);

                return(token);
            }

            this.ResetExpiration(existingToken);
            return(existingToken);
        }