bitwarden_api_api/models/
sso_configuration_data.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SsoConfigurationData {
17    #[serde(
18        rename = "configType",
19        alias = "ConfigType",
20        skip_serializing_if = "Option::is_none"
21    )]
22    pub config_type: Option<models::SsoType>,
23    #[serde(
24        rename = "memberDecryptionType",
25        alias = "MemberDecryptionType",
26        skip_serializing_if = "Option::is_none"
27    )]
28    pub member_decryption_type: Option<models::MemberDecryptionType>,
29    /// Legacy property to determine if KeyConnector was enabled. Kept for backwards compatibility
30    /// with old configs that will not have the new
31    /// Bit.Core.Auth.Models.Data.SsoConfigurationData.MemberDecryptionType when deserialized from
32    /// the database.
33    #[serde(
34        rename = "keyConnectorEnabled",
35        alias = "KeyConnectorEnabled",
36        skip_serializing_if = "Option::is_none"
37    )]
38    pub key_connector_enabled: Option<bool>,
39    #[serde(
40        rename = "keyConnectorUrl",
41        alias = "KeyConnectorUrl",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub key_connector_url: Option<String>,
45    #[serde(
46        rename = "authority",
47        alias = "Authority",
48        skip_serializing_if = "Option::is_none"
49    )]
50    pub authority: Option<String>,
51    #[serde(
52        rename = "clientId",
53        alias = "ClientId",
54        skip_serializing_if = "Option::is_none"
55    )]
56    pub client_id: Option<String>,
57    #[serde(
58        rename = "clientSecret",
59        alias = "ClientSecret",
60        skip_serializing_if = "Option::is_none"
61    )]
62    pub client_secret: Option<String>,
63    #[serde(
64        rename = "metadataAddress",
65        alias = "MetadataAddress",
66        skip_serializing_if = "Option::is_none"
67    )]
68    pub metadata_address: Option<String>,
69    #[serde(
70        rename = "redirectBehavior",
71        alias = "RedirectBehavior",
72        skip_serializing_if = "Option::is_none"
73    )]
74    pub redirect_behavior: Option<models::OpenIdConnectRedirectBehavior>,
75    #[serde(
76        rename = "getClaimsFromUserInfoEndpoint",
77        alias = "GetClaimsFromUserInfoEndpoint",
78        skip_serializing_if = "Option::is_none"
79    )]
80    pub get_claims_from_user_info_endpoint: Option<bool>,
81    #[serde(
82        rename = "additionalScopes",
83        alias = "AdditionalScopes",
84        skip_serializing_if = "Option::is_none"
85    )]
86    pub additional_scopes: Option<String>,
87    #[serde(
88        rename = "additionalUserIdClaimTypes",
89        alias = "AdditionalUserIdClaimTypes",
90        skip_serializing_if = "Option::is_none"
91    )]
92    pub additional_user_id_claim_types: Option<String>,
93    #[serde(
94        rename = "additionalEmailClaimTypes",
95        alias = "AdditionalEmailClaimTypes",
96        skip_serializing_if = "Option::is_none"
97    )]
98    pub additional_email_claim_types: Option<String>,
99    #[serde(
100        rename = "additionalNameClaimTypes",
101        alias = "AdditionalNameClaimTypes",
102        skip_serializing_if = "Option::is_none"
103    )]
104    pub additional_name_claim_types: Option<String>,
105    #[serde(
106        rename = "acrValues",
107        alias = "AcrValues",
108        skip_serializing_if = "Option::is_none"
109    )]
110    pub acr_values: Option<String>,
111    #[serde(
112        rename = "expectedReturnAcrValue",
113        alias = "ExpectedReturnAcrValue",
114        skip_serializing_if = "Option::is_none"
115    )]
116    pub expected_return_acr_value: Option<String>,
117    #[serde(
118        rename = "idpEntityId",
119        alias = "IdpEntityId",
120        skip_serializing_if = "Option::is_none"
121    )]
122    pub idp_entity_id: Option<String>,
123    #[serde(
124        rename = "idpSingleSignOnServiceUrl",
125        alias = "IdpSingleSignOnServiceUrl",
126        skip_serializing_if = "Option::is_none"
127    )]
128    pub idp_single_sign_on_service_url: Option<String>,
129    #[serde(
130        rename = "idpSingleLogoutServiceUrl",
131        alias = "IdpSingleLogoutServiceUrl",
132        skip_serializing_if = "Option::is_none"
133    )]
134    pub idp_single_logout_service_url: Option<String>,
135    #[serde(
136        rename = "idpX509PublicCert",
137        alias = "IdpX509PublicCert",
138        skip_serializing_if = "Option::is_none"
139    )]
140    pub idp_x509_public_cert: Option<String>,
141    #[serde(
142        rename = "idpBindingType",
143        alias = "IdpBindingType",
144        skip_serializing_if = "Option::is_none"
145    )]
146    pub idp_binding_type: Option<models::Saml2BindingType>,
147    #[serde(
148        rename = "idpAllowUnsolicitedAuthnResponse",
149        alias = "IdpAllowUnsolicitedAuthnResponse",
150        skip_serializing_if = "Option::is_none"
151    )]
152    pub idp_allow_unsolicited_authn_response: Option<bool>,
153    #[serde(
154        rename = "idpArtifactResolutionServiceUrl",
155        alias = "IdpArtifactResolutionServiceUrl",
156        skip_serializing_if = "Option::is_none"
157    )]
158    pub idp_artifact_resolution_service_url: Option<String>,
159    #[serde(
160        rename = "idpDisableOutboundLogoutRequests",
161        alias = "IdpDisableOutboundLogoutRequests",
162        skip_serializing_if = "Option::is_none"
163    )]
164    pub idp_disable_outbound_logout_requests: Option<bool>,
165    #[serde(
166        rename = "idpOutboundSigningAlgorithm",
167        alias = "IdpOutboundSigningAlgorithm",
168        skip_serializing_if = "Option::is_none"
169    )]
170    pub idp_outbound_signing_algorithm: Option<String>,
171    #[serde(
172        rename = "idpWantAuthnRequestsSigned",
173        alias = "IdpWantAuthnRequestsSigned",
174        skip_serializing_if = "Option::is_none"
175    )]
176    pub idp_want_authn_requests_signed: Option<bool>,
177    #[serde(
178        rename = "spUniqueEntityId",
179        alias = "SpUniqueEntityId",
180        skip_serializing_if = "Option::is_none"
181    )]
182    pub sp_unique_entity_id: Option<bool>,
183    #[serde(
184        rename = "spNameIdFormat",
185        alias = "SpNameIdFormat",
186        skip_serializing_if = "Option::is_none"
187    )]
188    pub sp_name_id_format: Option<models::Saml2NameIdFormat>,
189    #[serde(
190        rename = "spOutboundSigningAlgorithm",
191        alias = "SpOutboundSigningAlgorithm",
192        skip_serializing_if = "Option::is_none"
193    )]
194    pub sp_outbound_signing_algorithm: Option<String>,
195    #[serde(
196        rename = "spSigningBehavior",
197        alias = "SpSigningBehavior",
198        skip_serializing_if = "Option::is_none"
199    )]
200    pub sp_signing_behavior: Option<models::Saml2SigningBehavior>,
201    #[serde(
202        rename = "spWantAssertionsSigned",
203        alias = "SpWantAssertionsSigned",
204        skip_serializing_if = "Option::is_none"
205    )]
206    pub sp_want_assertions_signed: Option<bool>,
207    #[serde(
208        rename = "spValidateCertificates",
209        alias = "SpValidateCertificates",
210        skip_serializing_if = "Option::is_none"
211    )]
212    pub sp_validate_certificates: Option<bool>,
213    #[serde(
214        rename = "spMinIncomingSigningAlgorithm",
215        alias = "SpMinIncomingSigningAlgorithm",
216        skip_serializing_if = "Option::is_none"
217    )]
218    pub sp_min_incoming_signing_algorithm: Option<String>,
219}
220
221impl SsoConfigurationData {
222    pub fn new() -> SsoConfigurationData {
223        SsoConfigurationData {
224            config_type: None,
225            member_decryption_type: None,
226            key_connector_enabled: None,
227            key_connector_url: None,
228            authority: None,
229            client_id: None,
230            client_secret: None,
231            metadata_address: None,
232            redirect_behavior: None,
233            get_claims_from_user_info_endpoint: None,
234            additional_scopes: None,
235            additional_user_id_claim_types: None,
236            additional_email_claim_types: None,
237            additional_name_claim_types: None,
238            acr_values: None,
239            expected_return_acr_value: None,
240            idp_entity_id: None,
241            idp_single_sign_on_service_url: None,
242            idp_single_logout_service_url: None,
243            idp_x509_public_cert: None,
244            idp_binding_type: None,
245            idp_allow_unsolicited_authn_response: None,
246            idp_artifact_resolution_service_url: None,
247            idp_disable_outbound_logout_requests: None,
248            idp_outbound_signing_algorithm: None,
249            idp_want_authn_requests_signed: None,
250            sp_unique_entity_id: None,
251            sp_name_id_format: None,
252            sp_outbound_signing_algorithm: None,
253            sp_signing_behavior: None,
254            sp_want_assertions_signed: None,
255            sp_validate_certificates: None,
256            sp_min_incoming_signing_algorithm: None,
257        }
258    }
259}