authentik_client/models/
ws_federation_provider_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WsFederationProviderRequest {
17 #[serde(rename = "name")]
18 pub name: String,
19 #[serde(
21 rename = "authentication_flow",
22 default,
23 with = "::serde_with::rust::double_option",
24 skip_serializing_if = "Option::is_none"
25 )]
26 pub authentication_flow: Option<Option<uuid::Uuid>>,
27 #[serde(rename = "authorization_flow")]
29 pub authorization_flow: uuid::Uuid,
30 #[serde(rename = "invalidation_flow")]
32 pub invalidation_flow: uuid::Uuid,
33 #[serde(rename = "property_mappings", skip_serializing_if = "Option::is_none")]
34 pub property_mappings: Option<Vec<uuid::Uuid>>,
35 #[serde(rename = "reply_url")]
36 pub reply_url: String,
37 #[serde(rename = "wtrealm")]
38 pub wtrealm: String,
39 #[serde(rename = "assertion_valid_not_before", skip_serializing_if = "Option::is_none")]
41 pub assertion_valid_not_before: Option<String>,
42 #[serde(rename = "assertion_valid_not_on_or_after", skip_serializing_if = "Option::is_none")]
44 pub assertion_valid_not_on_or_after: Option<String>,
45 #[serde(rename = "session_valid_not_on_or_after", skip_serializing_if = "Option::is_none")]
47 pub session_valid_not_on_or_after: Option<String>,
48 #[serde(
50 rename = "name_id_mapping",
51 default,
52 with = "::serde_with::rust::double_option",
53 skip_serializing_if = "Option::is_none"
54 )]
55 pub name_id_mapping: Option<Option<uuid::Uuid>>,
56 #[serde(
58 rename = "authn_context_class_ref_mapping",
59 default,
60 with = "::serde_with::rust::double_option",
61 skip_serializing_if = "Option::is_none"
62 )]
63 pub authn_context_class_ref_mapping: Option<Option<uuid::Uuid>>,
64 #[serde(rename = "digest_algorithm", skip_serializing_if = "Option::is_none")]
65 pub digest_algorithm: Option<models::DigestAlgorithmEnum>,
66 #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")]
67 pub signature_algorithm: Option<models::SignatureAlgorithmEnum>,
68 #[serde(
70 rename = "signing_kp",
71 default,
72 with = "::serde_with::rust::double_option",
73 skip_serializing_if = "Option::is_none"
74 )]
75 pub signing_kp: Option<Option<uuid::Uuid>>,
76 #[serde(
78 rename = "encryption_kp",
79 default,
80 with = "::serde_with::rust::double_option",
81 skip_serializing_if = "Option::is_none"
82 )]
83 pub encryption_kp: Option<Option<uuid::Uuid>>,
84 #[serde(rename = "sign_assertion", skip_serializing_if = "Option::is_none")]
85 pub sign_assertion: Option<bool>,
86 #[serde(rename = "sign_logout_request", skip_serializing_if = "Option::is_none")]
87 pub sign_logout_request: Option<bool>,
88 #[serde(rename = "default_name_id_policy", skip_serializing_if = "Option::is_none")]
89 pub default_name_id_policy: Option<models::SamlNameIdPolicyEnum>,
90}
91
92impl WsFederationProviderRequest {
93 pub fn new(
95 name: String,
96 authorization_flow: uuid::Uuid,
97 invalidation_flow: uuid::Uuid,
98 reply_url: String,
99 wtrealm: String,
100 ) -> WsFederationProviderRequest {
101 WsFederationProviderRequest {
102 name,
103 authentication_flow: None,
104 authorization_flow,
105 invalidation_flow,
106 property_mappings: None,
107 reply_url,
108 wtrealm,
109 assertion_valid_not_before: None,
110 assertion_valid_not_on_or_after: None,
111 session_valid_not_on_or_after: None,
112 name_id_mapping: None,
113 authn_context_class_ref_mapping: None,
114 digest_algorithm: None,
115 signature_algorithm: None,
116 signing_kp: None,
117 encryption_kp: None,
118 sign_assertion: None,
119 sign_logout_request: None,
120 default_name_id_policy: None,
121 }
122 }
123}