Renovar el token
Los dos tokens duran 2 minutos. Renuévalos unos 20 segundos antes de que venzan, o cuando una ruta responda 401.
Token de la tienda
Sección titulada «Token de la tienda»No tiene refresh_token. Pide otro igual que la primera vez, con la credencial. Guárdalo en memoria de tu servidor y reúsalo mientras no venza: no pidas uno por cada petición.
Token del cliente
Sección titulada «Token del cliente»Usa el refresh_token que recibiste al iniciar sesión:
curl -X POST "https://auth.lavitrina-online.com/realms/tienda-clientes/protocol/openid-connect/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=refresh_token" \ -d "client_id=sf-TU_STORE_ID-login" \ -d "refresh_token=REFRESH_TOKEN"La respuesta trae un access_token nuevo y normalmente también un refresh_token nuevo.
Si el refresh_token venció o el cliente cerró sesión, la respuesta es un 400 con "error": "invalid_grant". En ese caso el cliente debe iniciar sesión otra vez.
Estrategia recomendada
Sección titulada «Estrategia recomendada»- Guarda el momento en que vence el token (
ahora + expires_in). - Renueva unos 20 segundos antes de que venza.
- Si aun así una petición responde
401, renueva una vez y repítela. Si vuelve a fallar, pide un token desde cero (o que el cliente inicie sesión).