public string Login(AccountCredenials credentials)
        {
            var exitinigUser = _authRepo.GetUser(credentials.Username);

            if (exitinigUser != null)
            {
                _authRepo.RemoveUser(exitinigUser);
            }

            return(EncodeToken(GenerateUserAndReturnNewAuthToken(credentials)));
        }
        private AuthToken GenerateNewToken(AccountCredenials credentials)
        {
            var UserDto = _userManager.GetUser(credentials.Username);

            var token = new AuthToken
            {
                ExpirationTime = DateTime.Now.AddHours(2),
                User           = UserDto,
            };

            return(token);
        }
Exemple #3
0
        public int AddUser(UserDto user, AccountCredenials credenials)
        {
            if (_repo.GetUser(credenials?.Username) != null)
            {
                throw new UserAlreadyExistsException();
            }

            User model = ModelMapper.GetMapper.Map <UserDto, User>(user);

            model.Password = credenials?.Username;

            return(_repo.AddUser(model));
        }
        public ActionResult <string> Login()
        {
            var rowCredentials            = this.HttpContext.Request.Headers["Account-Credentials"];
            AccountCredenials credentials = JsonConvert.DeserializeObject <AccountCredenials>(rowCredentials);

            try
            {
                var token = _manager.Login(credentials);
                _logger.LogDebug($"User {credentials.Username} log in.");
                return(Ok(token));
            }
            catch (UserDoesNotExistException e)
            {
                return(BadRequest(e.Message));
            }
        }
        private AuthToken GenerateUserAndReturnNewAuthToken(AccountCredenials credentials)
        {
            var user = _userRepo.GetUser(credentials.Username);

            if (user == null)
            {
                throw new UserDoesNotExistException();
            }

            var authUser = new AuthorizedUser()
            {
                User = user,
                AuthExpirationTime = DateTime.Now
            };

            _authRepo.AddUser(authUser);

            return(GenerateNewToken(credentials));
        }