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(rename = "configType", skip_serializing_if = "Option::is_none")]
18    pub config_type: Option<models::SsoType>,
19    #[serde(
20        rename = "memberDecryptionType",
21        skip_serializing_if = "Option::is_none"
22    )]
23    pub member_decryption_type: Option<models::MemberDecryptionType>,
24    /// Legacy property to determine if KeyConnector was enabled.  Kept for backwards compatibility
25    /// with old configs that will not have  the new
26    /// Bit.Core.Auth.Models.Data.SsoConfigurationData.MemberDecryptionType when deserialized from
27    /// the database.
28    #[serde(
29        rename = "keyConnectorEnabled",
30        skip_serializing_if = "Option::is_none"
31    )]
32    pub key_connector_enabled: Option<bool>,
33    #[serde(rename = "keyConnectorUrl", skip_serializing_if = "Option::is_none")]
34    pub key_connector_url: Option<String>,
35    #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
36    pub authority: Option<String>,
37    #[serde(rename = "clientId", skip_serializing_if = "Option::is_none")]
38    pub client_id: Option<String>,
39    #[serde(rename = "clientSecret", skip_serializing_if = "Option::is_none")]
40    pub client_secret: Option<String>,
41    #[serde(rename = "metadataAddress", skip_serializing_if = "Option::is_none")]
42    pub metadata_address: Option<String>,
43    #[serde(rename = "redirectBehavior", skip_serializing_if = "Option::is_none")]
44    pub redirect_behavior: Option<models::OpenIdConnectRedirectBehavior>,
45    #[serde(
46        rename = "getClaimsFromUserInfoEndpoint",
47        skip_serializing_if = "Option::is_none"
48    )]
49    pub get_claims_from_user_info_endpoint: Option<bool>,
50    #[serde(rename = "additionalScopes", skip_serializing_if = "Option::is_none")]
51    pub additional_scopes: Option<String>,
52    #[serde(
53        rename = "additionalUserIdClaimTypes",
54        skip_serializing_if = "Option::is_none"
55    )]
56    pub additional_user_id_claim_types: Option<String>,
57    #[serde(
58        rename = "additionalEmailClaimTypes",
59        skip_serializing_if = "Option::is_none"
60    )]
61    pub additional_email_claim_types: Option<String>,
62    #[serde(
63        rename = "additionalNameClaimTypes",
64        skip_serializing_if = "Option::is_none"
65    )]
66    pub additional_name_claim_types: Option<String>,
67    #[serde(rename = "acrValues", skip_serializing_if = "Option::is_none")]
68    pub acr_values: Option<String>,
69    #[serde(
70        rename = "expectedReturnAcrValue",
71        skip_serializing_if = "Option::is_none"
72    )]
73    pub expected_return_acr_value: Option<String>,
74    #[serde(rename = "idpEntityId", skip_serializing_if = "Option::is_none")]
75    pub idp_entity_id: Option<String>,
76    #[serde(
77        rename = "idpSingleSignOnServiceUrl",
78        skip_serializing_if = "Option::is_none"
79    )]
80    pub idp_single_sign_on_service_url: Option<String>,
81    #[serde(
82        rename = "idpSingleLogoutServiceUrl",
83        skip_serializing_if = "Option::is_none"
84    )]
85    pub idp_single_logout_service_url: Option<String>,
86    #[serde(rename = "idpX509PublicCert", skip_serializing_if = "Option::is_none")]
87    pub idp_x509_public_cert: Option<String>,
88    #[serde(rename = "idpBindingType", skip_serializing_if = "Option::is_none")]
89    pub idp_binding_type: Option<models::Saml2BindingType>,
90    #[serde(
91        rename = "idpAllowUnsolicitedAuthnResponse",
92        skip_serializing_if = "Option::is_none"
93    )]
94    pub idp_allow_unsolicited_authn_response: Option<bool>,
95    #[serde(
96        rename = "idpArtifactResolutionServiceUrl",
97        skip_serializing_if = "Option::is_none"
98    )]
99    pub idp_artifact_resolution_service_url: Option<String>,
100    #[serde(
101        rename = "idpDisableOutboundLogoutRequests",
102        skip_serializing_if = "Option::is_none"
103    )]
104    pub idp_disable_outbound_logout_requests: Option<bool>,
105    #[serde(
106        rename = "idpOutboundSigningAlgorithm",
107        skip_serializing_if = "Option::is_none"
108    )]
109    pub idp_outbound_signing_algorithm: Option<String>,
110    #[serde(
111        rename = "idpWantAuthnRequestsSigned",
112        skip_serializing_if = "Option::is_none"
113    )]
114    pub idp_want_authn_requests_signed: Option<bool>,
115    #[serde(rename = "spUniqueEntityId", skip_serializing_if = "Option::is_none")]
116    pub sp_unique_entity_id: Option<bool>,
117    #[serde(rename = "spNameIdFormat", skip_serializing_if = "Option::is_none")]
118    pub sp_name_id_format: Option<models::Saml2NameIdFormat>,
119    #[serde(
120        rename = "spOutboundSigningAlgorithm",
121        skip_serializing_if = "Option::is_none"
122    )]
123    pub sp_outbound_signing_algorithm: Option<String>,
124    #[serde(rename = "spSigningBehavior", skip_serializing_if = "Option::is_none")]
125    pub sp_signing_behavior: Option<models::Saml2SigningBehavior>,
126    #[serde(
127        rename = "spWantAssertionsSigned",
128        skip_serializing_if = "Option::is_none"
129    )]
130    pub sp_want_assertions_signed: Option<bool>,
131    #[serde(
132        rename = "spValidateCertificates",
133        skip_serializing_if = "Option::is_none"
134    )]
135    pub sp_validate_certificates: Option<bool>,
136    #[serde(
137        rename = "spMinIncomingSigningAlgorithm",
138        skip_serializing_if = "Option::is_none"
139    )]
140    pub sp_min_incoming_signing_algorithm: Option<String>,
141}
142
143impl SsoConfigurationData {
144    pub fn new() -> SsoConfigurationData {
145        SsoConfigurationData {
146            config_type: None,
147            member_decryption_type: None,
148            key_connector_enabled: None,
149            key_connector_url: None,
150            authority: None,
151            client_id: None,
152            client_secret: None,
153            metadata_address: None,
154            redirect_behavior: None,
155            get_claims_from_user_info_endpoint: None,
156            additional_scopes: None,
157            additional_user_id_claim_types: None,
158            additional_email_claim_types: None,
159            additional_name_claim_types: None,
160            acr_values: None,
161            expected_return_acr_value: None,
162            idp_entity_id: None,
163            idp_single_sign_on_service_url: None,
164            idp_single_logout_service_url: None,
165            idp_x509_public_cert: None,
166            idp_binding_type: None,
167            idp_allow_unsolicited_authn_response: None,
168            idp_artifact_resolution_service_url: None,
169            idp_disable_outbound_logout_requests: None,
170            idp_outbound_signing_algorithm: None,
171            idp_want_authn_requests_signed: None,
172            sp_unique_entity_id: None,
173            sp_name_id_format: None,
174            sp_outbound_signing_algorithm: None,
175            sp_signing_behavior: None,
176            sp_want_assertions_signed: None,
177            sp_validate_certificates: None,
178            sp_min_incoming_signing_algorithm: None,
179        }
180    }
181}