Saltar al contenido principal

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

Ten en cuenta que...

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 al refresh_token previo. Deberás guardar en lugar seguro este refresh_token para poder utilizarlo más adelante.