oauth2_pkce
SKILL.md
oauth2_pkce
PKCE (Proof Key for Code Exchange) es la extensión de OAuth 2.0 recomendada para apps móviles y SPAs donde el client secret no puede guardarse de forma segura. Previene el ataque de interceptación del authorization code.
When to use
Usar para el flujo de autenticación de la app móvil KYC. Para integraciones server-to-server (otros backends que llaman al API), usar API Keys directamente.
Instructions
- Instalar Keycloak como authorization server self-hosted:
keycloak: image: quay.io/keycloak/keycloak:23.0 command: start-dev environment: KC_DB: postgres KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak - Crear realm
kyc, clientkyc-mobilecon PKCE habilitado (S256). - Flujo en la app móvil:
- Generar
code_verifier(random 43-128 chars) ycode_challenge = BASE64URL(SHA256(code_verifier)). - Redirigir a Keycloak con
code_challengeycode_challenge_method=S256. - Tras autorización, canjear
code+code_verifierpor access_token (JWT RS256).
- Generar
- El JWT resultante contiene el
subdel cliente y se valida con el skilljwt_rs256_validation. - Configurar
access_token_lifespan=15myrefresh_token_lifespan=8hen Keycloak.
Notes
- PKCE no requiere client_secret en la app — la seguridad proviene del code_verifier único por sesión.
- Keycloak puede federar con proveedores externos (LDAP, Active Directory) si el cliente lo requiere.
- Para testing de la API (Postman, pytest), usar el flujo Client Credentials con API Key.
Weekly Installs
1
Repository
davidcastagnetoa/skillsFirst Seen
10 days ago
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1