public async Task <SystemUserAuthenticateModel> AuthenticateAsync(string basicAuthHeader)
        {
            if (!basicAuthHeader.ToString().StartsWith("Basic"))
            {
                throw new Exception("'Basic' header not found.");
            }

            var loginUsername = await GetUsernameAsync(basicAuthHeader);

            var loginPassword = await GetPasswordAsync(basicAuthHeader);

            if (string.IsNullOrEmpty(loginUsername) || string.IsNullOrEmpty(loginPassword))
            {
                throw new LoginFailedException();
            }

            var user = await _systemUsersManager.GetItemAsync(loginUsername);

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

            var password = _hashingService.DecryptString(user.Password);

            if (loginPassword == password)
            {
                return(new SystemUserAuthenticateModel(user));
            }

            return(null);
        }
Beispiel #2
0
        private void Login()
        {
            string errors = ValidateInputFields();

            if (errors == "")
            {
                Pharmacy pharm = _uow.PharmacyRepo.Get(x => x.Username == Pharmacy.Username).FirstOrDefault();
                if (pharm != null)
                {
                    if (passwordHasher.DecryptString(pharm.PasswordHash) == passwordHasher.DecryptString(Pharmacy.PasswordHash))
                    {
                        Authenticator.CurrentUser = pharm;
                    }
                    else
                    {
                        Pharmacy.PasswordHash = "";
                        MessageBox.Show($"Ongeldig wachtwoord!", "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else
                {
                    MessageBox.Show($"Gebruiker met gebruikersnaam {Pharmacy.Username} bestaat niet!", "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                MessageBox.Show(Pharmacy.Error, "Foutmelding", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Beispiel #3
0
        public string ValidateInputFields(string confirmPassword)
        {
            if (string.IsNullOrWhiteSpace(Pharmacy.PasswordHash))
            {
                return("Wachtwoord is niet ingevuld!");
            }
            if (passwordHasher.DecryptString(Pharmacy.PasswordHash) != passwordHasher.DecryptString(confirmPassword))
            {
                return("Wachtwoorden komen niet overeen!");
            }

            return("");
        }
Beispiel #4
0
        public IActionResult Decrypt(string cypher)
        {
            try
            {
                string decryptedText = _hashingService.DecryptString(cypher);

                responseModels.Add("Decrypted text", decryptedText);
                var response = new ApiResponse(HttpStatusCode.OK, "Cypher text decrypted successfully.", responseModels);
                return(Ok(new { response }));
            }
            catch (Exception exception)
            {
                var response = new ApiResponse(HttpStatusCode.BadRequest, "Cypher decrypt NOT successful.", exception, null);
                return(BadRequest(new { response }));
            }
        }