mas_handlers/admin/v1/upstream_oauth_links/
mod.rs1mod get;
7mod list;
8
9pub use self::{
10 get::{doc as get_doc, handler as get},
11 list::{doc as list_doc, handler as list},
12};
13
14#[cfg(test)]
15mod test_utils {
16 use mas_data_model::{
17 UpstreamOAuthProviderClaimsImports, UpstreamOAuthProviderDiscoveryMode,
18 UpstreamOAuthProviderPkceMode, UpstreamOAuthProviderTokenAuthMethod,
19 };
20 use mas_iana::jose::JsonWebSignatureAlg;
21 use mas_storage::upstream_oauth2::UpstreamOAuthProviderParams;
22 use oauth2_types::scope::{OPENID, Scope};
23
24 pub(crate) fn oidc_provider_params(name: &str) -> UpstreamOAuthProviderParams {
25 UpstreamOAuthProviderParams {
26 issuer: Some(format!("https://{name}.example.com")),
27 human_name: Some(name.to_owned()),
28 brand_name: Some(name.to_owned()),
29 scope: Scope::from_iter([OPENID]),
30 token_endpoint_auth_method: UpstreamOAuthProviderTokenAuthMethod::ClientSecretBasic,
31 token_endpoint_signing_alg: None,
32 id_token_signed_response_alg: JsonWebSignatureAlg::Rs256,
33 fetch_userinfo: false,
34 userinfo_signed_response_alg: None,
35 client_id: format!("client_{name}"),
36 encrypted_client_secret: Some("secret".to_owned()),
37 claims_imports: UpstreamOAuthProviderClaimsImports::default(),
38 discovery_mode: UpstreamOAuthProviderDiscoveryMode::default(),
39 pkce_mode: UpstreamOAuthProviderPkceMode::default(),
40 response_mode: None,
41 authorization_endpoint_override: None,
42 token_endpoint_override: None,
43 userinfo_endpoint_override: None,
44 jwks_uri_override: None,
45 additional_authorization_parameters: Vec::new(),
46 ui_order: 0,
47 }
48 }
49}