Autenticación
La API usa tokens de Keycloak con el flujo de usuario y clave (OAuth 2.0 password grant). Cada llamado lleva el token en el header Authorization.
Obtener el token
Sección titulada «Obtener el token»Si tu librería de OAuth/OIDC acepta la URL de configuración, usá esta y la librería se encarga del resto:
https://auth.gescom.online/realms/REALM/.well-known/openid-configurationSi preferís hacerlo a mano, pedí el token con un POST form-urlencoded a:
https://auth.gescom.online/realms/REALM/protocol/openid-connect/token| Campo | Valor |
|---|---|
client_id |
gcw-web-api |
grant_type |
password |
username |
Tu usuario |
password |
Tu clave |
curl https://auth.gescom.online/realms/REALM/protocol/openid-connect/token \ --data client_id=gcw-web-api \ --data grant_type=password \ --data username=USUARIO \ --data password=CLAVERespuesta (HTTP 200):
{ "access_token": "eyJz93a...k4laUWw", "token_type": "Bearer", "expires_in": 300, "refresh_token": "eyJhbGciOi..."}Si el usuario o la clave son incorrectos, Keycloak responde 401 con "error_description": "Invalid user credentials".
Usar el token
Sección titulada «Usar el token»Mandá el token en cada llamado:
Authorization: Bearer eyJz93a...k4laUWwSin token, o con un token vencido o inválido, la API responde 401. Con un token válido pero sin permisos para ese recurso responde 403.
Vencimiento
Sección titulada «Vencimiento»El token tiene una vida limitada: expires_in, en segundos. Depende de la configuración de cada realm y puede ser corta (por ejemplo, 300 = 5 minutos). Guardá cuándo vence y renovalo antes de esa hora, en lugar de esperar a recibir un 401. No pidas un token por cada llamado.
Para renovarlo sin volver a enviar la clave, usá el refresh_token de la respuesta:
curl https://auth.gescom.online/realms/REALM/protocol/openid-connect/token \ --data client_id=gcw-web-api \ --data grant_type=refresh_token \ --data refresh_token=REFRESH_TOKENLa respuesta tiene la misma forma que la del login, con un token nuevo y un refresh token nuevo. Si el refresh token también venció, volvé a pedir el token con usuario y clave.
En el portal
Sección titulada «En el portal»El botón Conectar hace este mismo pedido desde tu navegador:
- La clave se usa solo para pedir el token y no se guarda.
- El token queda en la memoria de la pestaña (
sessionStorage) y se borra al cerrarla o al tocar Desconectar. - Si marcás Recordar, se guardan en tu navegador el realm, la URL y el usuario, nunca la clave.