github.com/kyma-project/kyma-environment-broker@v0.0.1/internal/ias/model.go (about) 1 package ias 2 3 type Company struct { 4 ServiceProviders []ServiceProvider `json:"service_providers"` 5 IdentityProviders []IdentityProvider `json:"identity_providers"` 6 } 7 8 type ServiceProvider struct { 9 DisplayName string `json:"display_name"` 10 ID string `json:"id"` 11 AssertionAttributes []AssertionAttribute `json:"assertion_attributes"` 12 DefaultAttributes []DefaultAttribute `json:"default_attributes"` 13 Organization string `json:"organization"` 14 SsoType string `json:"ssoType"` 15 RedirectURIs []string `json:"redirect_uris"` 16 NameIDAttribute string `json:"name_id_attribute"` 17 RBAConfig RBAConfig `json:"rba_config"` 18 AuthenticatingIdp AuthenticatingIdp `json:"authenticatingIdp"` 19 Secret []SPSecret `json:"clientSecrets"` 20 ACSEndpoints []ACSEndpoint `json:"acs_endpoints"` 21 UserForRest string `json:"userForRest"` 22 } 23 24 type AuthenticatingIdp struct { 25 ID string `json:"id"` 26 Name string `json:"name"` 27 DisplayName string `json:"display_name"` 28 } 29 30 type SPSecret struct { 31 SecretID string `json:"clientSecretId"` 32 Description string `json:"description"` 33 Scopes []string `json:"scopes"` 34 } 35 36 type AssertionAttribute struct { 37 AssertionAttribute string `json:"assertionAttribute"` 38 UserAttribute string `json:"userAttribute"` 39 } 40 41 type DefaultAttribute struct { 42 AssertionAttribute string `json:"assertionAttribute"` 43 Value string `json:"value"` 44 } 45 46 type PostAssertionAttributes struct { 47 AssertionAttributes []AssertionAttribute `json:"assertion_attributes"` 48 } 49 50 type IdentityProvider struct { 51 Name string `json:"name"` 52 ID string `json:"id"` 53 } 54 55 type OIDCType struct { 56 SsoType string `json:"ssoType"` 57 ServiceProviderName string `json:"sp_name"` 58 OpenIDConnectConfig OpenIDConnectConfig `json:"openId_connect_configuration"` 59 } 60 61 type SAMLType struct { 62 ServiceProviderName string `json:"sp_name"` 63 ACSEndpoints []ACSEndpoint `json:"acs_endpoints"` 64 } 65 66 type ACSEndpoint struct { 67 Location string `json:"location"` 68 IsDefault bool `json:"isDefault,omitempty"` 69 Index int32 `json:"index"` 70 } 71 72 type OpenIDConnectConfig struct { 73 RedirectURIs []string `json:"redirect_uris"` 74 PostLogoutRedirectURIs []string `json:"post_logout_redirect_uris,omitempty"` 75 } 76 77 type SubjectNameIdentifier struct { 78 NameIDAttribute string `json:"name_id_attribute"` 79 } 80 81 type SecretConfiguration struct { 82 Organization string `json:"organization"` 83 ID string `json:"id"` 84 RestAPIClientSecret RestAPIClientSecret `json:"rest_api_client_secret"` 85 } 86 87 type DefaultAuthIDPConfig struct { 88 Organization string `json:"organization"` 89 ID string `json:"id"` 90 DefaultAuthIDP string `json:"default_auth_idp"` 91 } 92 93 type RestAPIClientSecret struct { 94 Description string `json:"description"` 95 Scopes []string `json:"scopes"` 96 } 97 98 type ServiceProviderSecret struct { 99 ClientID string `json:"clientId"` 100 ClientSecret string `json:"clientSecret"` 101 } 102 103 type AuthenticationAndAccess struct { 104 ServiceProviderAccess ServiceProviderAccess `json:"service_provider"` 105 } 106 107 type ServiceProviderAccess struct { 108 RBAConfig RBAConfig `json:"rba_config"` 109 } 110 111 type RBAConfig struct { 112 RBARules []RBARules `json:"rba_rules"` 113 DefaultAction string `json:"default_action"` 114 } 115 116 type RBARules struct { 117 Action string `json:"action"` 118 Group string `json:"group"` 119 GroupType string `json:"group_type"` 120 } 121 122 type SecretsRef struct { 123 ClientID string `json:"clientId"` 124 ClientSecretsIDs []string `json:"clientSecretsIds"` 125 }