shield_oidc/builders/
keycloak.rs

1use crate::provider::{
2    OidcProvider, OidcProviderBuilder,
3    oidc_provider_builder::{SetClientId, SetDiscoveryUrl, SetIconUrl, SetId, SetName},
4};
5
6pub struct Keycloak {}
7
8impl Keycloak {
9    pub fn builder(
10        id: &str,
11        discovery_url: &str,
12        client_id: &str,
13    ) -> OidcProviderBuilder<SetDiscoveryUrl<SetClientId<SetIconUrl<SetName<SetId>>>>> {
14        OidcProvider::builder()
15            .id(id)
16            .name("Keycloak")
17            .icon_url("https://authjs.dev/img/providers/keycloak.svg")
18            .client_id(client_id)
19            .discovery_url(discovery_url)
20    }
21}