public List <UserMock> GenerateMockUsers() { //salt generation var userList = new List <UserMock>(); var userMock = new UserMock() { username = "******", password = hashPassword("doctor"), permission = "user" }; var auditorMock = new UserMock() { username = "******", password = hashPassword("auditor"), permission = "auditor" }; var adminMock = new UserMock() { username = "******", password = hashPassword("admin"), permission = "admin" }; userList.Add(userMock); userList.Add(auditorMock); userList.Add(adminMock); return(userList); }
public LoginValidationResponse ValidateLoginRequest(LoginValidationRequest loginValidationRequest) { var loginValidationResponse = new LoginValidationResponse(); var usersList = new UserMock().GenerateMockUsers(); var checkIfUserExists = usersList.Find(x => x.username == loginValidationRequest.username); if (checkIfUserExists != null) { var hashedProvidedPassword = encryptionProvidedPasswordUsingActualSaltPassword(loginValidationRequest.password, checkIfUserExists.password); if (comperePasswordsHash(hashedProvidedPassword, Convert.FromBase64String(checkIfUserExists.password)) == true) { loginValidationResponse.username = checkIfUserExists.username; loginValidationResponse.permissions = checkIfUserExists.permission; loginValidationResponse.status = "OK"; } else { loginValidationResponse.username = checkIfUserExists.username; loginValidationResponse.permissions = "Denied"; loginValidationResponse.status = "Wrong Password"; } } else { loginValidationResponse.username = loginValidationRequest.username; loginValidationResponse.permissions = "Denied"; loginValidationResponse.status = "The user does not exist"; } return(loginValidationResponse); }