Ir al contenido

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.

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-configuration

Si 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
Ventana de terminal
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=CLAVE

Respuesta (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".

Mandá el token en cada llamado:

Authorization: Bearer eyJz93a...k4laUWw

Sin 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.

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:

Ventana de terminal
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_TOKEN

La 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.

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.