public void Disconnect() { if (--RefCount == 0) { _client = null; } }
public void AddRemoveUserFromGroup() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); var expectedUserName = "******"; var expectedPassword = "******"; var newUser = ssoAdminClient.CreateLocalUser( expectedUserName, expectedPassword); var group = ssoAdminClient.GetGroups("administrators", newUser.Domain).FirstOrDefault <Group>(); // Act var addActual = ssoAdminClient.AddPersonUserToGroup(newUser, group); var removeActual = ssoAdminClient.RemovePersonUserFromGroup(newUser, group); // Assert Assert.IsTrue(addActual); Assert.IsTrue(removeActual); // Cleanup ssoAdminClient.DeleteLocalUser( newUser); }
public void SetLockoutPolicy() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); var originalLockoutPolicy = ssoAdminClient.GetLockoutPolicy(); var expectedDescription = "TestDescription"; var expectedAutoUnlockIntervalSec = 20; var expectedFailedAttemptIntervalSec = 30; var expectedMaxFailedAttempts = 5; // Act var actual = ssoAdminClient.SetLockoutPolicy( expectedDescription, expectedAutoUnlockIntervalSec, expectedFailedAttemptIntervalSec, expectedMaxFailedAttempts); // Assert Assert.NotNull(actual); Assert.AreEqual(expectedDescription, actual.Description); Assert.AreEqual(expectedAutoUnlockIntervalSec, actual.AutoUnlockIntervalSec); Assert.AreEqual(expectedFailedAttemptIntervalSec, actual.FailedAttemptIntervalSec); Assert.AreEqual(expectedMaxFailedAttempts, actual.MaxFailedAttempts); // Cleanup ssoAdminClient.SetLockoutPolicy( originalLockoutPolicy.Description, originalLockoutPolicy.AutoUnlockIntervalSec, originalLockoutPolicy.FailedAttemptIntervalSec, originalLockoutPolicy.MaxFailedAttempts ); }
public void SetPasswordPolicy() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); var originalPasswordPolicy = ssoAdminClient.GetPasswordPolicy(); var expectedDescription = "TestDescription"; var expectedProhibitedPreviousPasswordsCount = originalPasswordPolicy.ProhibitedPreviousPasswordsCount + 1; var expectedMinLength = originalPasswordPolicy.MinLength + 1; var expectedMaxLength = originalPasswordPolicy.MaxLength + 1; var exptectedMaxIdenticalAdjacentCharacters = originalPasswordPolicy.MaxIdenticalAdjacentCharacters + 1; var expectedMinNumericCount = originalPasswordPolicy.MinNumericCount + 1; var expectedMinSpecialCharCount = originalPasswordPolicy.MinSpecialCharCount + 1; var expectedMinAlphabeticCount = originalPasswordPolicy.MinAlphabeticCount + 2; var expectedMinUppercaseCount = 0; var expectedMinLowercaseCount = originalPasswordPolicy.MinLowercaseCount + 2; var expectedPasswordLifetimeDays = originalPasswordPolicy.PasswordLifetimeDays - 2; // Act var actual = ssoAdminClient.SetPasswordPolicy( description: expectedDescription, prohibitedPreviousPasswordsCount: expectedProhibitedPreviousPasswordsCount, minLength: expectedMinLength, maxLength: expectedMaxLength, maxIdenticalAdjacentCharacters: exptectedMaxIdenticalAdjacentCharacters, minNumericCount: expectedMinNumericCount, minSpecialCharCount: expectedMinSpecialCharCount, minAlphabeticCount: expectedMinAlphabeticCount, minUppercaseCount: expectedMinUppercaseCount, minLowercaseCount: expectedMinLowercaseCount, passwordLifetimeDays: expectedPasswordLifetimeDays); // Assert Assert.NotNull(actual); Assert.AreEqual(expectedDescription, actual.Description); Assert.AreEqual(expectedProhibitedPreviousPasswordsCount, actual.ProhibitedPreviousPasswordsCount); Assert.AreEqual(expectedMinLength, actual.MinLength); Assert.AreEqual(expectedMaxLength, actual.MaxLength); Assert.AreEqual(exptectedMaxIdenticalAdjacentCharacters, actual.MaxIdenticalAdjacentCharacters); Assert.AreEqual(expectedMinNumericCount, actual.MinNumericCount); Assert.AreEqual(expectedMinAlphabeticCount, actual.MinAlphabeticCount); Assert.AreEqual(expectedMinUppercaseCount, actual.MinUppercaseCount); Assert.AreEqual(expectedMinLowercaseCount, actual.MinLowercaseCount); Assert.AreEqual(expectedPasswordLifetimeDays, actual.PasswordLifetimeDays); // Cleanup ssoAdminClient.SetPasswordPolicy( description: originalPasswordPolicy.Description, prohibitedPreviousPasswordsCount: originalPasswordPolicy.ProhibitedPreviousPasswordsCount, minLength: originalPasswordPolicy.MinLength, maxLength: originalPasswordPolicy.MaxLength, maxIdenticalAdjacentCharacters: originalPasswordPolicy.MaxIdenticalAdjacentCharacters, minNumericCount: originalPasswordPolicy.MinNumericCount, minSpecialCharCount: originalPasswordPolicy.MinSpecialCharCount, minAlphabeticCount: originalPasswordPolicy.MinAlphabeticCount, minUppercaseCount: originalPasswordPolicy.MinUppercaseCount, minLowercaseCount: originalPasswordPolicy.MinLowercaseCount, passwordLifetimeDays: originalPasswordPolicy.PasswordLifetimeDays); }
public void AddRemoveLocalUser() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); var expectedUserName = "******"; var expectedPassword = "******"; var expectedDescription = "test-description"; var expectedEmail = "*****@*****.**"; var expectedFirstName = "Test"; var expectedLastName = "User"; // Act Create User var actual = ssoAdminClient.CreateLocalUser( expectedUserName, expectedPassword, expectedDescription, expectedEmail, expectedFirstName, expectedLastName); // Assert Created User Assert.AreEqual(expectedUserName, actual.Name); Assert.AreEqual(expectedDescription, actual.Description); Assert.AreEqual(expectedEmail, actual.EmailAddress); Assert.AreEqual(expectedFirstName, actual.FirstName); Assert.AreEqual(expectedLastName, actual.LastName); // Act Delete User ssoAdminClient.DeleteLocalUser( actual); }
public void GetLockoutPolicy() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); // Act var actual = ssoAdminClient.GetLockoutPolicy(); // Assert Assert.NotNull(actual); }
public void GetDomains() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); // Act var actual = ssoAdminClient.GetDomains().ToArray <IdentitySource>(); // Assert Assert.NotNull(actual); Assert.IsTrue(actual.Length >= 2); }
public void GetAllLocalOsUsers() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); // Act var actual = ssoAdminClient.GetLocalUsers("", "localos").ToArray(); // Assert Assert.NotNull(actual); Assert.Greater(actual.Length, 0); }
public void Setup() { var ssoAdminUri = new Uri($"https://{SERVER_ADDRESS}:443/sso-adminserver/sdk"); var stsUri = new Uri($"https://{SERVER_ADDRESS}/sts/STSService/vsphere.local"); _ssoAdminClient = new SsoAdminClient( ssoAdminUri, stsUri, new AcceptAllX509CertificateValidator()); _authorizationPassword = ConvertStringToSecureString(ADMIN_PASSWORD); Assert.NotNull(_ssoAdminClient); }
public SsoSolutionUserRegistration( ILoggerFactory loggerFactory, SetupServiceSettings serviceSettings, SsoAdminClient ssoAdminClient) { if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _logger = loggerFactory.CreateLogger(typeof(SsoSolutionUserRegistration).FullName); _serviceSettings = serviceSettings ?? throw new ArgumentNullException(nameof(serviceSettings)); _ssoAdminClient = ssoAdminClient ?? throw new ArgumentNullException(nameof(ssoAdminClient)); }
public TrustedCertificatesStore( ILoggerFactory loggerFactory, SsoAdminClient ssoAdminClient, IConfigWriter configWriter) { if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _logger = loggerFactory.CreateLogger(typeof(TrustedCertificatesStore).FullName); _ssoAdminClient = ssoAdminClient ?? throw new ArgumentNullException(nameof(ssoAdminClient)); _configWriter = configWriter ?? throw new ArgumentNullException(nameof(configWriter)); }
public void GetRootLocalOsGroups() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); // Act var actual = ssoAdminClient.GetGroups("", "localos").ToArray(); // Assert Assert.NotNull(actual); Assert.Greater(actual.Length, 1); Assert.AreEqual("localos", actual[0].Domain); }
public SsoAdminServer(string hostname, string user, SecureString password, X509CertificateValidator serverCertificateValidator) { Name = hostname; _client = new SsoAdminClient( hostname, user, password, serverCertificateValidator); Id = $"/SsoAdminServer={NormalizeUserName()}@{Name}"; }
public void GetPersonUsersInGroup() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); // Act var actual = ssoAdminClient.GetPersonUsersInGroup("", new Group { Name = "Administrators", Domain = "vsphere.local" }).ToArray(); // Assert Assert.NotNull(actual); Assert.GreaterOrEqual(actual.Length, 1); Assert.AreEqual("vsphere.local", actual[0].Domain); }
public void ResetUserPassword() { // Arrange var ssoAdminClient = new SsoAdminClient(_vc, _user, _password, new AcceptAllX509CertificateValidator()); var expectedUserName = "******"; var expectedPassword = "******"; var updatePassword = "******"; var newUser = ssoAdminClient.CreateLocalUser( expectedUserName, expectedPassword); // Act // Assert Assert.DoesNotThrow(() => { ssoAdminClient.ResetPersonUserPassword(newUser, updatePassword); }); // Cleanup ssoAdminClient.DeleteLocalUser( newUser); }
public int Run(UserInput userInput) { try { var certificatesCommonName = userInput.ServiceHostname; _logger.LogDebug($"User Input VC: {userInput.Psc}"); _logger.LogDebug($"User Input VC User: {userInput.User}"); _logger.LogDebug($"User Input VC Thumbprint: {userInput.VcThumbprint}"); _logger.LogDebug($"User Input Force Specified: {userInput.ForceSpecified}"); _logger.LogDebug($"User Input Sts Settings Path Specified: {userInput.StsSettingsPath}"); userInput.EnsureIsValid(SetupFlowType.UnregisterFromVC); var stsSettings = new SettingsEditor(File.ReadAllText(userInput.StsSettingsPath)). GetStsSettings(); _logger.LogDebug($"Sts Settings SolutionServiceId: {stsSettings.SolutionServiceId}"); _logger.LogDebug($"Sts Settings SolutionOwnerId: {stsSettings.SolutionOwnerId}"); K8sSettings k8sSettings = null; if (userInput.K8sSettings != null && File.Exists(userInput.K8sSettings)) { k8sSettings = JsonConvert.DeserializeObject <K8sSettings>(File.ReadAllText(userInput.K8sSettings)); } // === VC Unregister Actions === X509CertificateValidator certificateValidator = null; if (userInput.ForceSpecified) { certificateValidator = new AcceptAllX509CertificateValidator(); } else if (!string.IsNullOrEmpty(userInput.VcThumbprint)) { certificateValidator = new SpecifiedCertificateThumbprintValidator(userInput.VcThumbprint); } _logger.LogDebug($"Service Id: {stsSettings.SolutionServiceId}"); _logger.LogDebug($"Service OwnerId: {stsSettings.SolutionOwnerId}"); var setupServiceSettings = SetupServiceSettings.FromStsSettings(stsSettings); _logger.LogDebug($"SetupServiceSettings ServiceId: {setupServiceSettings.ServiceId}"); _logger.LogDebug($"SetupServiceSettings OwnerId: {setupServiceSettings.OwnerId}"); var lookupServiceClient = new LookupServiceClient( userInput.Psc, certificateValidator); var ssoSdkUri = lookupServiceClient.GetSsoAdminEndpointUri(); var stsUri = lookupServiceClient.GetStsEndpointUri(); _logger.LogDebug($"Resolved SSO SDK Endpoint: {ssoSdkUri}"); _logger.LogDebug($"Resolved Sts Endpoint: {stsUri}"); var ssoAdminClient = new SsoAdminClient(ssoSdkUri, stsUri, certificateValidator); // --- SSO Solution User Registration --- var ssoSolutionRegitration = new SsoSolutionUserRegistration( _loggerFactory, setupServiceSettings, ssoAdminClient); ssoSolutionRegitration.DeleteSolutionUser(userInput.User, userInput.Password); // --- SSO Solution User Registration --- // --- Lookup Service Registration --- var lsRegistration = new LookupServiceRegistration( _loggerFactory, setupServiceSettings, lookupServiceClient); lsRegistration.Deregister(userInput.User, userInput.Password); // --- Lookup Service Registration --- // === VC Unregister Actions === } catch (InvalidUserInputException exc) { _logger.LogError(exc, exc.Message); return(1); } catch (Exception exc) { _logger.LogError(exc, exc.Message); return(2); } _logger.LogInformation("Success"); return(0); }
public PasswordPolicy(SsoAdminClient client) { _client = client; }
public int Run(UserInput userInput) { try { var certificatesCommonName = userInput.ServiceHostname; _logger.LogDebug($"User Input VC: {userInput.Psc}"); _logger.LogDebug($"User Input VC User: {userInput.User}"); _logger.LogDebug($"User Input VC Thumbprint: {userInput.VcThumbprint}"); _logger.LogDebug($"User Input Force Specified: {userInput.ForceSpecified}"); userInput.EnsureIsValid(SetupFlowType.UpdateTrustedCACertificates); // Create Config File Writer K8sSettings k8sSettings = null; if (userInput.K8sSettings != null && File.Exists(userInput.K8sSettings)) { k8sSettings = JsonConvert.DeserializeObject <K8sSettings>(File.ReadAllText(userInput.K8sSettings)); } var configWriter = new K8sConfigWriter(_loggerFactory, k8sSettings); // Create Lookup Service Client X509CertificateValidator certificateValidator = null; if (userInput.ForceSpecified) { certificateValidator = new AcceptAllX509CertificateValidator(); } else if (!string.IsNullOrEmpty(userInput.VcThumbprint)) { certificateValidator = new SpecifiedCertificateThumbprintValidator(userInput.VcThumbprint); } var lookupServiceClient = new LookupServiceClient( userInput.Psc, certificateValidator); // Get SSO Admin And STS URIs from Lookup Service var ssoSdkUri = lookupServiceClient.GetSsoAdminEndpointUri(); var stsUri = lookupServiceClient.GetStsEndpointUri(); _logger.LogDebug($"Resolved SSO SDK Endpoint: {ssoSdkUri}"); _logger.LogDebug($"Resolved Sts Endpoint: {stsUri}"); // var ssoAdminClient = new SsoAdminClient(ssoSdkUri, stsUri, certificateValidator); // --- Store VC CA certificates --- var trustedCertificatesStore = new TrustedCertificatesStore( _loggerFactory, ssoAdminClient, configWriter); trustedCertificatesStore.SaveVcenterCACertficates(); // --- Store VC CA certificates --- } catch (InvalidUserInputException exc) { _logger.LogError(exc, exc.Message); return(1); } catch (Exception exc) { _logger.LogError(exc, exc.Message); return(2); } _logger.LogInformation("Success"); return(0); }
public LockoutPolicy(SsoAdminClient client) { _client = client; }
public AuthenticationPolicy(SsoAdminClient client) { _client = client; }
public PersonUser(SsoAdminClient client) { _client = client; }
public int Run(UserInput userInput) { try { var certificatesCommonName = userInput.ServiceHostname; _logger.LogDebug($"User Input VC: {userInput.Psc}"); _logger.LogDebug($"User Input VC User: {userInput.User}"); _logger.LogDebug($"User Input VC Thumbprint: {userInput.VcThumbprint}"); _logger.LogDebug($"User Input Force Specified: {userInput.ForceSpecified}"); userInput.EnsureIsValid(SetupFlowType.RegisterWithVC); // --- InMemory Certificates --- X509Certificate2 signCertificate = null; X509Certificate2 tlsCertificate = null; // --- InMemory Certificates --- K8sSettings k8sSettings = null; if (userInput.K8sSettings != null && File.Exists(userInput.K8sSettings)) { k8sSettings = JsonConvert.DeserializeObject <K8sSettings>(File.ReadAllText(userInput.K8sSettings)); } var configWriter = new K8sConfigWriter(_loggerFactory, k8sSettings); // --- Signing Certificate --- if (!string.IsNullOrEmpty(userInput.SigningCertificatePath) && File.Exists(userInput.SigningCertificatePath)) { _logger.LogInformation($"Load signing certificate from path {userInput.SigningCertificatePath}"); signCertificate = new X509Certificate2(userInput.SigningCertificatePath); } else { _logger.LogInformation("Generate signing self-signed certificate"); var signingCertGen = new SigningCertificateGenerator( _loggerFactory, certificatesCommonName, configWriter); signCertificate = signingCertGen.Generate(Constants.SignCertificateSecretName); if (signCertificate == null) { _logger.LogError("Generate signing self-signed certificate failed."); return(3); } } // --- Signing Certificate --- // --- TLS Certificate --- if (!string.IsNullOrEmpty(userInput.TlsCertificatePath) && File.Exists(userInput.TlsCertificatePath)) { _logger.LogInformation($"Load tls certificate from path {userInput.TlsCertificatePath}"); tlsCertificate = new X509Certificate2(userInput.TlsCertificatePath); } else { _logger.LogInformation("Generate tls self-signed certificate"); var tlsCertGen = new TlsCertificateGenerator( _loggerFactory, certificatesCommonName, configWriter); tlsCertificate = tlsCertGen.Generate(Constants.TlsCertificateSecretName); if (tlsCertificate == null) { _logger.LogError("Generate tls self-signed certificate failed."); return(4); } } // --- TLS Certificate --- // === VC Registration Actions === X509CertificateValidator certificateValidator = null; if (userInput.ForceSpecified) { certificateValidator = new AcceptAllX509CertificateValidator(); } else if (!string.IsNullOrEmpty(userInput.VcThumbprint)) { certificateValidator = new SpecifiedCertificateThumbprintValidator(userInput.VcThumbprint); } var lookupServiceClient = new LookupServiceClient( userInput.Psc, certificateValidator); var serviceSettings = SetupServiceSettings.NewService( tlsCertificate, signCertificate, userInput.ServiceHostname, 443); _logger.LogDebug($"Service NodeId: {serviceSettings.NodeId}"); _logger.LogDebug($"Service OwnerId: {serviceSettings.OwnerId}"); _logger.LogDebug($"Service ServiceId: {serviceSettings.ServiceId}"); _logger.LogDebug($"Service Endpoint Url: {serviceSettings.EndpointUrl}"); var ssoSdkUri = lookupServiceClient.GetSsoAdminEndpointUri(); var stsUri = lookupServiceClient.GetStsEndpointUri(); _logger.LogDebug($"Resolved SSO SDK Endpoint: {ssoSdkUri}"); _logger.LogDebug($"Resolved Sts Endpoint: {stsUri}"); var ssoAdminClient = new SsoAdminClient(ssoSdkUri, stsUri, certificateValidator); // --- SSO Solution User Registration --- var ssoSolutionRegitration = new SsoSolutionUserRegistration( _loggerFactory, serviceSettings, ssoAdminClient); ssoSolutionRegitration.CreateSolutionUser(userInput.User, userInput.Password); // --- SSO Solution User Registration --- // --- Lookup Service Registration --- var lsRegistration = new LookupServiceRegistration( _loggerFactory, serviceSettings, lookupServiceClient); lsRegistration.Register(userInput.User, userInput.Password); // --- Lookup Service Registration --- // --- Store VC CA certificates --- var trustedCertificatesStore = new TrustedCertificatesStore( _loggerFactory, ssoAdminClient, configWriter); trustedCertificatesStore.SaveVcenterCACertficates(); // --- Store VC CA certificates --- // === VC Registration Actions === // --- Save SRS API Gateway service settings --- var stsSettings = new StsSettings(); stsSettings.Realm = ssoSolutionRegitration.GetTrustedCertificate( userInput.User, userInput.Password)?.Thumbprint; stsSettings.SolutionUserSigningCertificatePath = Constants.StsSettings_SolutionUserSigningCertificatePath; stsSettings.StsServiceEndpoint = stsUri.ToString(); stsSettings.SolutionOwnerId = serviceSettings.OwnerId; stsSettings.SolutionServiceId = serviceSettings.ServiceId; configWriter.WriteServiceStsSettings(stsSettings); // --- Save SRS API Gateway service settings --- } catch (InvalidUserInputException exc) { _logger.LogError(exc, exc.Message); return(1); } catch (Exception exc) { _logger.LogError(exc, exc.Message); return(2); } _logger.LogInformation("Success"); return(0); }
public TokenLifetime(SsoAdminClient client) { _client = client; }
public void Disconnect() { _client = null; }
public Group(SsoAdminClient client) { _client = client; }
public int Run(UserInput userInput) { try { var certificatesCommonName = userInput.ServiceHostname; _logger.LogDebug($"User Input VC: {userInput.Psc}"); _logger.LogDebug($"User Input VC User: {userInput.User}"); _logger.LogDebug($"User Input VC Thumbprint: {userInput.VcThumbprint}"); _logger.LogDebug($"User Input Force Specified: {userInput.ForceSpecified}"); userInput.EnsureIsValid(SetupFlowType.CleanupVCRegistration); K8sSettings k8sSettings = null; if (userInput.K8sSettings != null && File.Exists(userInput.K8sSettings)) { k8sSettings = JsonConvert.DeserializeObject <K8sSettings>(File.ReadAllText(userInput.K8sSettings)); } // === VC Unregister Actions === X509CertificateValidator certificateValidator = null; if (userInput.ForceSpecified) { certificateValidator = new AcceptAllX509CertificateValidator(); } else if (!string.IsNullOrEmpty(userInput.VcThumbprint)) { certificateValidator = new SpecifiedCertificateThumbprintValidator(userInput.VcThumbprint); } var lookupServiceClient = new LookupServiceClient( userInput.Psc, certificateValidator); var registeredServices = lookupServiceClient.ListRegisteredServices(); string srsServiceId = null; string srsOwnerId = null; foreach (var service in registeredServices) { if (service.ownerId?.StartsWith("srs-SolutionOwner-") ?? false) { // SRS Service registration found srsServiceId = service.serviceId; srsOwnerId = service.ownerId; break; } } if (!string.IsNullOrEmpty(srsServiceId) && !string.IsNullOrEmpty(srsOwnerId)) { _logger.LogInformation($"SRS Service registration found on VC {userInput.Psc}, service Id: {srsServiceId}, service owner Id: {srsOwnerId}"); _logger.LogInformation("Performing SRS Service regitration cleanup"); var setupServiceSettings = SetupServiceSettings.FromStsSettings(new StsSettings { SolutionServiceId = srsServiceId, SolutionOwnerId = srsOwnerId }); _logger.LogDebug($"SetupServiceSettings ServiceId: {setupServiceSettings.ServiceId}"); _logger.LogDebug($"SetupServiceSettings OwnerId: {setupServiceSettings.OwnerId}"); var ssoSdkUri = lookupServiceClient.GetSsoAdminEndpointUri(); var stsUri = lookupServiceClient.GetStsEndpointUri(); _logger.LogDebug($"Resolved SSO SDK Endpoint: {ssoSdkUri}"); _logger.LogDebug($"Resolved Sts Endpoint: {stsUri}"); var ssoAdminClient = new SsoAdminClient(ssoSdkUri, stsUri, certificateValidator); // --- SSO Solution User Registration --- var ssoSolutionRegitration = new SsoSolutionUserRegistration( _loggerFactory, setupServiceSettings, ssoAdminClient); ssoSolutionRegitration.DeleteSolutionUser(userInput.User, userInput.Password); // --- SSO Solution User Registration --- // --- Lookup Service Registration --- var lsRegistration = new LookupServiceRegistration( _loggerFactory, setupServiceSettings, lookupServiceClient); lsRegistration.Deregister(userInput.User, userInput.Password); } else { _logger.LogInformation($"SRS Service registration not found on VC {userInput.Psc}"); } // === VC Unregister Actions === } catch (InvalidUserInputException exc) { _logger.LogError(exc, exc.Message); return(1); } catch (Exception exc) { _logger.LogError(exc, exc.Message); return(2); } _logger.LogInformation("Success"); return(0); }