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  }