firebase_admin_sdk/auth/
project_config.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, Default)]
5#[serde(rename_all = "camelCase")]
6pub struct OidcProviderConfig {
7 pub name: String,
10
11 pub display_name: Option<String>,
13
14 #[serde(skip_serializing_if = "Option::is_none")]
16 pub enabled: Option<bool>,
17
18 pub client_id: Option<String>,
20
21 pub issuer: Option<String>,
23
24 #[serde(skip_serializing_if = "Option::is_none")]
26 pub client_secret: Option<String>,
27
28 #[serde(skip_serializing_if = "Option::is_none")]
30 pub response_type: Option<OidcResponseType>,
31}
32
33#[derive(Debug, Serialize, Deserialize, Default)]
34#[serde(rename_all = "camelCase")]
35pub struct OidcResponseType {
36 #[serde(skip_serializing_if = "Option::is_none")]
38 pub id_token: Option<bool>,
39 #[serde(skip_serializing_if = "Option::is_none")]
41 pub code: Option<bool>,
42}
43
44#[derive(Debug, Serialize, Default)]
46#[serde(rename_all = "camelCase")]
47pub struct CreateOidcProviderConfigRequest {
48 #[serde(skip)]
50 pub oauth_idp_config_id: String,
51
52 #[serde(skip_serializing_if = "Option::is_none")]
53 pub display_name: Option<String>,
54 #[serde(skip_serializing_if = "Option::is_none")]
55 pub enabled: Option<bool>,
56 pub client_id: String,
57 pub issuer: String,
58 #[serde(skip_serializing_if = "Option::is_none")]
59 pub client_secret: Option<String>,
60 #[serde(skip_serializing_if = "Option::is_none")]
61 pub response_type: Option<OidcResponseType>,
62}
63
64#[derive(Debug, Serialize, Default)]
66#[serde(rename_all = "camelCase")]
67pub struct UpdateOidcProviderConfigRequest {
68 #[serde(skip_serializing_if = "Option::is_none")]
69 pub display_name: Option<String>,
70 #[serde(skip_serializing_if = "Option::is_none")]
71 pub enabled: Option<bool>,
72 #[serde(skip_serializing_if = "Option::is_none")]
73 pub client_id: Option<String>,
74 #[serde(skip_serializing_if = "Option::is_none")]
75 pub issuer: Option<String>,
76 #[serde(skip_serializing_if = "Option::is_none")]
77 pub client_secret: Option<String>,
78 #[serde(skip_serializing_if = "Option::is_none")]
79 pub response_type: Option<OidcResponseType>,
80}
81
82#[derive(Debug, Deserialize)]
84#[serde(rename_all = "camelCase")]
85pub struct ListOidcProviderConfigsResponse {
86 pub oauth_idp_configs: Option<Vec<OidcProviderConfig>>,
87 pub next_page_token: Option<String>,
88}
89
90#[derive(Debug, Serialize, Deserialize, Default)]
93#[serde(rename_all = "camelCase")]
94pub struct SamlIdpConfig {
95 #[serde(skip_serializing_if = "Option::is_none")]
96 pub idp_entity_id: Option<String>,
97 #[serde(skip_serializing_if = "Option::is_none")]
98 pub sso_url: Option<String>,
99 #[serde(skip_serializing_if = "Option::is_none")]
100 pub sign_request: Option<bool>,
101 #[serde(skip_serializing_if = "Option::is_none")]
102 pub idp_certificates: Option<Vec<SamlCertificate>>,
103}
104
105#[derive(Debug, Serialize, Deserialize, Default)]
106#[serde(rename_all = "camelCase")]
107pub struct SamlSpConfig {
108 #[serde(skip_serializing_if = "Option::is_none")]
109 pub sp_entity_id: Option<String>,
110 #[serde(skip_serializing_if = "Option::is_none")]
111 pub callback_uri: Option<String>,
112}
113
114#[derive(Debug, Serialize, Deserialize, Default)]
115#[serde(rename_all = "camelCase")]
116pub struct SamlCertificate {
117 pub x509_certificate: String,
118}
119
120#[derive(Debug, Serialize, Deserialize, Default)]
122#[serde(rename_all = "camelCase")]
123pub struct SamlProviderConfig {
124 pub name: String,
126
127 pub display_name: Option<String>,
129
130 #[serde(skip_serializing_if = "Option::is_none")]
132 pub enabled: Option<bool>,
133
134 pub idp_config: Option<SamlIdpConfig>,
136
137 pub sp_config: Option<SamlSpConfig>,
139}
140
141#[derive(Debug, Serialize, Default)]
143#[serde(rename_all = "camelCase")]
144pub struct CreateSamlProviderConfigRequest {
145 #[serde(skip)]
147 pub inbound_saml_config_id: String,
148
149 #[serde(skip_serializing_if = "Option::is_none")]
150 pub display_name: Option<String>,
151 #[serde(skip_serializing_if = "Option::is_none")]
152 pub enabled: Option<bool>,
153 pub idp_config: SamlIdpConfig,
154 pub sp_config: SamlSpConfig,
155}
156
157#[derive(Debug, Serialize, Default)]
159#[serde(rename_all = "camelCase")]
160pub struct UpdateSamlProviderConfigRequest {
161 #[serde(skip_serializing_if = "Option::is_none")]
162 pub display_name: Option<String>,
163 #[serde(skip_serializing_if = "Option::is_none")]
164 pub enabled: Option<bool>,
165 #[serde(skip_serializing_if = "Option::is_none")]
166 pub idp_config: Option<SamlIdpConfig>,
167 #[serde(skip_serializing_if = "Option::is_none")]
168 pub sp_config: Option<SamlSpConfig>,
169}
170
171#[derive(Debug, Deserialize)]
173#[serde(rename_all = "camelCase")]
174pub struct ListSamlProviderConfigsResponse {
175 pub inbound_saml_configs: Option<Vec<SamlProviderConfig>>,
176 pub next_page_token: Option<String>,
177}