Saltar al contenido principal
Version: 0.60.0-rc.46

Autenticación para Desarrollo Local

Esta guía cubre cómo funciona la autenticación en el entorno de desarrollo local, incluyendo la configuración de Keycloak y los procedimientos de inicio de sesión.

Configuración de Keycloak​

Keycloak se ejecuta en http://localhost:8081 y se configura automáticamente con importaciones de realm cuando ejecutas make start-deps.

Consola de Administración de Keycloak​

Realms​

RealmPropósitoUsado por
internalUsuarios administrativosPanel de Administración
customerClientes del bancoClientes externos de clientes, API cliente-servidor

Las definiciones de realm se almacenan en dev/keycloak/ y se importan automáticamente al iniciar.

Inicio de Sesión en el Panel de Administración​

  1. Navega a http://admin.localhost:4455
  2. Serás redirigido a Keycloak
  3. Inicia sesión con: admin@galoy.io
  4. El panel de administración utiliza el realm internal de Keycloak con OIDC Code Flow

Inicio de Sesión de la API de Cliente​

El banco ya no proporciona un frontend web orientado al cliente dentro del repositorio. El servidor de clientes (puerto 5254) está expuesto en http://app.localhost:4455/graphql para:

  • Clientes de clientes externos que gestionan su propio inicio de sesión OIDC contra el realm customer de Keycloak. El cliente de referencia es lana-mobile-demo — si cambias el realm customer, el esquema del servidor de clientes o la ruta de Oathkeeper app.localhost, verifica que esa demostración siga funcionando.
  • Pruebas Bats, que utilizan el flujo de concesión directa de desarrollo (contraseña) para obtener un token de acceso de Keycloak — consulta get_customer_access_token en bats/helpers.bash.

Flujo de Autenticación​

Cómo Funciona Oathkeeper​

Oathkeeper se encuentra en el puerto 4455 y maneja toda la autenticación:

  1. Recibe solicitudes entrantes con tokens JWT Bearer
  2. Valida la firma JWT contra el endpoint JWKS de Keycloak
  3. Emite un JWT interno con audiencia específica de ruta y sujeto de usuario
  4. Redirige la solicitud al servicio upstream apropiado (admin-server o customer-server)

Los servidores backend solo aceptan JWT internos de Oathkeeper — verifican usando el JWKS de Oathkeeper y comprueban la declaración de audiencia.

Duración de Tokens (Desarrollo)​

TokenDuración
Token de acceso5 minutos
Token de actualización30 minutos
Sesión8 horas