Keycloak
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Panoramica
Sottosezione intitolata “Panoramica”Keycloak funziona attraverso il provider OAuth2 generico integrato. Non è necessario un nuovo provider nativo per Keycloak. Configura il tuo client Keycloak come client OpenID Connect e utilizza provider: 'oauth2' con un flusso stabile providerId, ad esempio keycloak.
Impostazioni del client Keycloak
Sottosezione intitolata “Impostazioni del client Keycloak”Nella tua sfera Keycloak, crea o apri il client utilizzato dal tuo Capacitor app:
- Utilizza il flusso di autorizzazione code.
- Mantieni abilitato PKCE nella configurazione dell'app.
- Registra ogni URI di reindirizzamento che la tua app utilizza, ad esempio
myapp://oauth/keycloakFor mobile e un URL di callback HTTPS per la produzione web. - Usa ambiti come
openid profile email. Aggiungioffline_accesssolo quando il tuo dominio e il client sono configurati per emettere token di refresh.
L'URL dell'emittente esatto è specifico della distribuzione. Le distribuzioni Keycloak correnti pubblicano comunemente i metadati del dominio a https://keycloak.example.com/realms/my-realm/.well-known/openid-configurationma alcune distribuzioni includono un percorso base aggiuntivo. Utilizza l'URL dell'emittente mostrato dalla configurazione del punto finale OpenID del tuo dominio.
Esempio di scoperta OIDC
Sottosezione intitolata “Esempio di scoperta OIDC”Preferisci issuerUrl in modo che il plugin possa scoprire gli endpoint di autorizzazione, token e logout dai metadati del dominio:
import { SocialLogin } from '@capgo/capacitor-social-login';
const keycloakIssuer = 'https://keycloak.example.com/realms/my-realm';
await SocialLogin.initialize({ oauth2: { keycloak: { appId: 'your-keycloak-client-id', issuerUrl: keycloakIssuer, redirectUrl: 'myapp://oauth/keycloak', scope: 'openid profile email', pkceEnabled: true, resourceUrl: `${keycloakIssuer}/protocol/openid-connect/userinfo`, }, },});
const result = await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'keycloak', },});
console.log(result.result.idToken);console.log(result.result.accessToken?.token);console.log(result.result.resourceData);Per i token di refresh, richiedi offline_access se il tuo dominio Keycloak e il client consentono ai token di refresh per questa app:
await SocialLogin.initialize({ oauth2: { keycloak: { appId: 'your-keycloak-client-id', issuerUrl: keycloakIssuer, redirectUrl: 'myapp://oauth/keycloak', scope: 'openid profile email offline_access', pkceEnabled: true, }, },});Fallback endpoint manuale
Sottosezione intitolata “Fallback endpoint manuale”Se la scoperta OIDC è bloccata o la tua distribuzione non espone i metadati all'app, configura gli endpoint direttamente. Mantieni l'URL base esattamente come pubblicato dalla tua distribuzione Keycloak:
const keycloakRealmUrl = 'https://keycloak.example.com/realms/my-realm';
await SocialLogin.initialize({ oauth2: { keycloak: { appId: 'your-keycloak-client-id', authorizationBaseUrl: `${keycloakRealmUrl}/protocol/openid-connect/auth`, accessTokenEndpoint: `${keycloakRealmUrl}/protocol/openid-connect/token`, redirectUrl: 'myapp://oauth/keycloak', scope: 'openid profile email', pkceEnabled: true, resourceUrl: `${keycloakRealmUrl}/protocol/openid-connect/userinfo`, logoutUrl: `${keycloakRealmUrl}/protocol/openid-connect/logout`, }, },});Compatibilità con Auth Connect
Sottosezione intitolata “Compatibilità con Auth Connect”Keycloak non è uno dei provider ID preset di Auth Connect. Se già utilizzi SocialLoginAuthConnectpuoi ancora inizializzare il provider generico e accedere con oauth2 plus provider: 'oauth2' __CAPGO_KEEP_0__ providerId: 'keycloak'.
Vedi il Riferimento al punto di accesso Keycloak OpenID Connect per la scoperta e le vie dei punti di accesso. Documenti correlati
Sottosezione intitolata “Documenti correlati”
Fornitori OAuth2 e OIDCSottosezione intitolata “Continua da Keycloak”
Se stai utilizzandoKeycloak Riferimento al punto di accesso Keycloak OpenID Connect per la scoperta e le vie dei punti di accesso. per pianificare l'autenticazione e le flussi di account, connettilo con Usando @capgo/capacitor-login-social per la capacità nativa in Usando @capgo/capacitor-login-social, @capgo/capacitor-login-social per la dettaglio di implementazione in @capgo/capacitor-login-social, @capgo/capacitor-passkey per la dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometric-nativo per la dettaglio di implementazione in @capgo/capacitor-biometric-nativo, e L'autenticazione a due fattori per la dettaglio di implementazione in L'autenticazione a due fattori.