github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/model/auth.go (about) 1 package model 2 3 // Auth missing godoc 4 type Auth struct { 5 Credential CredentialData 6 AccessStrategy *string 7 AdditionalHeaders map[string][]string 8 AdditionalQueryParams map[string][]string 9 RequestAuth *CredentialRequestAuth 10 OneTimeToken *OneTimeToken 11 CertCommonName string 12 } 13 14 // CredentialRequestAuth missing godoc 15 type CredentialRequestAuth struct { 16 Csrf *CSRFTokenCredentialRequestAuth 17 } 18 19 // CSRFTokenCredentialRequestAuth missing godoc 20 type CSRFTokenCredentialRequestAuth struct { 21 TokenEndpointURL string 22 Credential CredentialData 23 AdditionalHeaders map[string][]string 24 AdditionalQueryParams map[string][]string 25 } 26 27 // CredentialData missing godoc 28 type CredentialData struct { 29 Basic *BasicCredentialData 30 Oauth *OAuthCredentialData 31 CertificateOAuth *CertificateOAuthCredentialData 32 } 33 34 // BasicCredentialData missing godoc 35 type BasicCredentialData struct { 36 Username string 37 Password string 38 } 39 40 // OAuthCredentialData missing godoc 41 type OAuthCredentialData struct { 42 ClientID string 43 ClientSecret string 44 URL string 45 } 46 47 // CertificateOAuthCredentialData represents a structure for mTLS OAuth credentials 48 type CertificateOAuthCredentialData struct { 49 ClientID string 50 Certificate string 51 URL string 52 } 53 54 // AuthInput missing godoc 55 type AuthInput struct { 56 Credential *CredentialDataInput 57 AccessStrategy *string 58 AdditionalHeaders map[string][]string 59 AdditionalQueryParams map[string][]string 60 RequestAuth *CredentialRequestAuthInput 61 OneTimeToken *OneTimeToken 62 } 63 64 // ToAuth missing godoc 65 func (i *AuthInput) ToAuth() *Auth { 66 if i == nil { 67 return nil 68 } 69 70 var credential CredentialData 71 if i.Credential != nil { 72 credential = *i.Credential.ToCredentialData() 73 } 74 75 var requestAuth *CredentialRequestAuth 76 if i.RequestAuth != nil { 77 requestAuth = i.RequestAuth.ToCredentialRequestAuth() 78 } 79 80 return &Auth{ 81 Credential: credential, 82 AccessStrategy: i.AccessStrategy, 83 AdditionalQueryParams: i.AdditionalQueryParams, 84 AdditionalHeaders: i.AdditionalHeaders, 85 RequestAuth: requestAuth, 86 OneTimeToken: i.OneTimeToken, 87 } 88 } 89 90 // CredentialDataInput missing godoc 91 type CredentialDataInput struct { 92 Basic *BasicCredentialDataInput 93 Oauth *OAuthCredentialDataInput 94 CertificateOAuth *CertificateOAuthCredentialDataInput 95 } 96 97 // ToCredentialData missing godoc 98 func (i *CredentialDataInput) ToCredentialData() *CredentialData { 99 if i == nil { 100 return nil 101 } 102 103 var basic *BasicCredentialData 104 var oauth *OAuthCredentialData 105 var certOAuth *CertificateOAuthCredentialData 106 107 if i.Basic != nil { 108 basic = i.Basic.ToBasicCredentialData() 109 } 110 111 if i.Oauth != nil { 112 oauth = i.Oauth.ToOAuthCredentialData() 113 } 114 115 if i.CertificateOAuth != nil { 116 certOAuth = i.CertificateOAuth.ToCertificateOAuthCredentialData() 117 } 118 119 return &CredentialData{ 120 Basic: basic, 121 Oauth: oauth, 122 CertificateOAuth: certOAuth, 123 } 124 } 125 126 // BasicCredentialDataInput missing godoc 127 type BasicCredentialDataInput struct { 128 Username string 129 Password string 130 } 131 132 // ToBasicCredentialData missing godoc 133 func (i *BasicCredentialDataInput) ToBasicCredentialData() *BasicCredentialData { 134 if i == nil { 135 return nil 136 } 137 138 return &BasicCredentialData{ 139 Username: i.Username, 140 Password: i.Password, 141 } 142 } 143 144 // OAuthCredentialDataInput missing godoc 145 type OAuthCredentialDataInput struct { 146 ClientID string 147 ClientSecret string 148 URL string 149 } 150 151 // ToOAuthCredentialData missing godoc 152 func (i *OAuthCredentialDataInput) ToOAuthCredentialData() *OAuthCredentialData { 153 if i == nil { 154 return nil 155 } 156 157 return &OAuthCredentialData{ 158 ClientID: i.ClientID, 159 ClientSecret: i.ClientSecret, 160 URL: i.URL, 161 } 162 } 163 164 // CertificateOAuthCredentialDataInput represents an input structure for mTLS OAuth credentials 165 type CertificateOAuthCredentialDataInput struct { 166 ClientID string 167 Certificate string 168 URL string 169 } 170 171 // ToCertificateOAuthCredentialData converts a CertificateOAuthCredentialDataInput into CertificateOAuthCredentialData 172 func (i *CertificateOAuthCredentialDataInput) ToCertificateOAuthCredentialData() *CertificateOAuthCredentialData { 173 if i == nil { 174 return nil 175 } 176 177 return &CertificateOAuthCredentialData{ 178 ClientID: i.ClientID, 179 Certificate: i.Certificate, 180 URL: i.URL, 181 } 182 } 183 184 // CredentialRequestAuthInput missing godoc 185 type CredentialRequestAuthInput struct { 186 Csrf *CSRFTokenCredentialRequestAuthInput 187 } 188 189 // ToCredentialRequestAuth missing godoc 190 func (i *CredentialRequestAuthInput) ToCredentialRequestAuth() *CredentialRequestAuth { 191 if i == nil { 192 return nil 193 } 194 195 var csrf *CSRFTokenCredentialRequestAuth 196 if i.Csrf != nil { 197 csrf = i.Csrf.ToCSRFTokenCredentialRequestAuth() 198 } 199 200 return &CredentialRequestAuth{ 201 Csrf: csrf, 202 } 203 } 204 205 // CSRFTokenCredentialRequestAuthInput missing godoc 206 type CSRFTokenCredentialRequestAuthInput struct { 207 TokenEndpointURL string 208 Credential *CredentialDataInput 209 AdditionalHeaders map[string][]string 210 AdditionalQueryParams map[string][]string 211 } 212 213 // ToCSRFTokenCredentialRequestAuth missing godoc 214 func (i *CSRFTokenCredentialRequestAuthInput) ToCSRFTokenCredentialRequestAuth() *CSRFTokenCredentialRequestAuth { 215 if i == nil { 216 return nil 217 } 218 219 var credential CredentialData 220 if i.Credential != nil { 221 credential = *i.Credential.ToCredentialData() 222 } 223 224 return &CSRFTokenCredentialRequestAuth{ 225 Credential: credential, 226 AdditionalHeaders: i.AdditionalHeaders, 227 AdditionalQueryParams: i.AdditionalQueryParams, 228 TokenEndpointURL: i.TokenEndpointURL, 229 } 230 }