1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use std::collections::HashMap;
use serde::Deserialize;
#[derive(Deserialize, Debug)]
pub struct MtlsEndpoints {
pub token_endpoint: Option<String>,
pub userinfo_endpoint: Option<String>,
pub revocation_endpoint: Option<String>,
pub introspection_endpoint: Option<String>,
pub device_authorization_endpoint: Option<String>,
}
#[derive(Debug, Deserialize)]
pub struct IssuerMetadata {
pub issuer: String,
pub authorization_endpoint: Option<String>,
pub token_endpoint: Option<String>,
pub jwks_uri: Option<String>,
pub userinfo_endpoint: Option<String>,
pub revocation_endpoint: Option<String>,
pub end_session_endpoint: Option<String>,
pub registration_endpoint: Option<String>,
pub introspection_endpoint: Option<String>,
pub token_endpoint_auth_methods_supported: Option<Vec<String>>,
pub token_endpoint_auth_signing_alg_values_supported: Option<Vec<String>>,
pub introspection_endpoint_auth_methods_supported: Option<Vec<String>>,
pub introspection_endpoint_auth_signing_alg_values_supported: Option<Vec<String>>,
pub revocation_endpoint_auth_methods_supported: Option<Vec<String>>,
pub revocation_endpoint_auth_signing_alg_values_supported: Option<Vec<String>>,
pub request_object_signing_alg_values_supported: Option<Vec<String>>,
pub mtls_endpoint_aliases: Option<MtlsEndpoints>,
#[serde(flatten)]
pub other_fields: HashMap<String, serde_json::Value>,
}