Refresco del token
Cuando realices una petición a la API con un access_token
caducado, obtendrás un error HTTP/401 - Unauthorized
o HTTP/500 - Internal Server Error
. Puedes validar la fecha de caducidad de un token JWT leyendo el claim exp
, donde se especifica la fecha a partir de la cual ese access_token
ya no será válido. Aquí tienes más detalle del contenido del access_token
Para no volver a solicitar de nuevo al usuario que realice el proceso de login, existe la posibilidad de refrescar el access_token
mediante el refresh_token
que obtuviste al realizar la petición de request token
en el paso nº 7
Por defecto, el tipo de expiración del access_token
es del tipo Absolute por lo que el refresh-token
tendrá una caducidad fija de 30 días desde la primera autenticación. Es el método más seguro, pero también existe el tipo Sliding. En este tipo de refresco, menos seguro, cada vez que se utilice el refresh-token
, se concederán 15 días adicionales, independientemente de la primera conexión, y se generará un nuevo refresh-token
. Es el tipo indicado para procesos de backend que no permiten volver a hacer login.
Para solicitar un cambio de tipo de refresco de token, puedes hacerlo a través de este formulario
Refresco del access_token y refresh_token
Para refrescar el access-token
deberás enviar una petición POST al token endpoint
:
https://login.wolterskluwer.eu/auth/core/connect/token
Esta petición requiere de unos parámetros en el header
:
- client_id: es el identificador de tu cliente OAuth. Por ejemplo
WK.ES.A3WebApi.A23456
- client_secret: es la clave secreta de tu cliente OAuth. Por ejemplo
NvPqSESxR9JKr6Te
- grant_type: refresh_token
- refresh_token: el
refresh-token
que has obtenido en el paso nº 7.
curl --location --request POST 'https://login.wolterskluwer.eu/auth/core/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=YOUR_CLIENT_ID' \
--data-urlencode 'client_secret=YOUR_CLIENT_SECRET'
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'refresh_token=YOUR_REFRESH_TOKEN' \
Si la validación del access_token
es correcta, el servidor WKA Auth generará tus tokens y los devolverá en la respuesta, que contendrá los siguientes valores:
- access_token: nuevo JWT token necesario para poder hacer las llamadas a la API a3innuva Contabilidad
- id_token: JWT token con datos de la identidad del usuario.
- expires_in: tiempo en segundos hasta que el token expire. Por defecto son 60 minutos.
- token_type: Bearer
- refresh_token: Nuevo
refresh_token
. Dependiendo de la configuración del client OAuth, es posible que sea diferente alrefresh_token
previo. Deberás guardar en lugar seguro esterefresh_token
para poder utilizarlo más adelante.