public IdentitySourceNode (IdentityProviderDto provider, string tenantName, bool systemDomain, string displayName, TenantConfigurationDto tenantConfigDto) { _provider = provider; _tenantName = tenantName; _systemDomain = systemDomain; _tenantConfigDto = tenantConfigDto; var isDefault = _tenantConfigDto.ProviderPolicy != null && _tenantConfigDto.ProviderPolicy.DefaultProvider == provider.Name; DisplayName = isDefault ? displayName + " (Default)" : displayName; IsDefaultDomain = isDefault; }
public void SetAsDefault (object sender, EventArgs e) { ActionHelper.Execute (delegate() { var service = SnapInContext.Instance.ServiceGateway; var serverDto = GetServerDto (); var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken (serverDto.ServerName); _tenantConfigDto.ProviderPolicy = new ProviderPolicyDto { DefaultProvider = _provider.Name }; _tenantConfigDto = service.Tenant.UpdateConfig (serverDto, _tenantName, _tenantConfigDto, auth.Token, TenantConfigType.PROVIDER); IsDefaultDomain = true; DisplayName = IsDefaultDomain ? DisplayName + " (Default)" : DisplayName.Replace (" (Default)", string.Empty); ((IdentitySourcesNode)(this.Parent)).Refresh (sender, e); }); }
public override void Refresh (object sender, EventArgs e) { Children.Clear (); ActionHelper.Execute (delegate() { var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken (_serverDto.ServerName); var service = SnapInContext.Instance.ServiceGateway; var identityProviders = service.IdentityProvider.GetAll (_serverDto, _tenantName, auth.Token); var tenantConfig = new TenantConfigurationDto (); ActionHelper.Execute (delegate() { tenantConfig = service.Tenant.GetConfig (_serverDto, _tenantName, auth.Token, TenantConfigType.PROVIDER); }); var systemDomains = identityProviders.Where (x => x.DomainType == DomainType.SYSTEM_DOMAIN.ToString ()); if (systemDomains != null) { foreach (var provider in systemDomains) { var systemDomain = new IdentitySourceNode (provider, _tenantName, true, provider.Name + " (System Domain)", tenantConfig){ Parent = this }; systemDomain.Refresh (this, EventArgs.Empty); Children.Add (systemDomain); } } var localOsDomains = identityProviders.Where (x => x.DomainType == DomainType.LOCAL_OS_DOMAIN.ToString ()); ((TenantNode)this.Parent).IsSystemTenant = (localOsDomains != null && localOsDomains.Count() > 0); if (localOsDomains != null) { foreach (var provider in localOsDomains) { var localOsDomain = new IdentitySourceNode (provider, _tenantName, false, provider.Name + " (Local OS Domain)", tenantConfig){ Parent = this }; localOsDomain.Refresh (this, EventArgs.Empty); Children.Add (localOsDomain); } } var externalDomains = identityProviders.Where (x => x.DomainType == DomainType.EXTERNAL_DOMAIN.ToString ()).ToList (); var externalDomainNode = new ExternalDomainsNode (_tenantName, externalDomains){ Parent = this }; externalDomainNode.PopulateChildren(externalDomains); Children.Add (externalDomainNode); NSNotificationCenter.DefaultCenter.PostNotificationName ("ReloadOutlineView", this); }); }
public TenantConfigurationDto UpdateConfig(ServerDto serverDto, string tenant, TenantConfigurationDto tenantConfig, Token token, TenantConfigType type) { tenant = Uri.EscapeDataString(tenant); var url = string.Format(ServiceConfigManager.TenantConfigEndPoint, serverDto.Protocol, serverDto.ServerName, serverDto.Port, tenant); url += "?type=" + type; var json = JsonConvert.Serialize(tenantConfig); json = Cleanup (json); ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; var requestConfig = new RequestSettings { Method = HttpMethod.Put, }; var headers = ServiceHelper.AddHeaders(ServiceConfigManager.JsonContentType); json = "access_token=" + token.AccessToken + "&token_type=" + token.TokenType.ToString().ToLower() + "&" + json; var response = _webRequestManager.GetResponse(url, requestConfig, headers, null, json); return JsonConvert.Deserialize<TenantConfigurationDto>(response); }