En este apartado se explica cómo solicitar autorización utilizando el refresh_token, con algunos ejemplos y posibles errores.
Qué es un refresh_token?
El refresh_token o token de refresco es un token que le permitirá solicitar autorización para consumir nuestros servicios web sin tener que enviar las credenciales en el mensaje.
Es muy importante guardar este token bajo estrictas normas de seguridad, al igual que las credenciales de acceso.
Cómo obtengo uno?
Para obtener un token de refresco debemos solicitar autorización, aquí explicamos cómo hacerlo.
Solicitar autorización con refresh_token
La solicitud es muy similar a la realizada en el paso anterior, se envía un POST a la misma URL: https://a.paypertic.com/auth/realms/entidades/protocol/openid-connect/token
El cuerpo del mensaje debe también debe ser de tipo x-www-form-urlencoded y en el mismo deben ir los siguientes campos: grant_type, client_id, client_secret y agreguearemos uno nuevo, refresh_token.
Debemos completar el campo refresh_token con el valor obtenido en el paso previo y cambiar el valor de grant_type por "refresh_token".
Por ejemplo:
curl -X POST \ https://a.paypertic.com/auth/realms/entidades/protocol/openid-connect/token \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=refresh_token&client_id=16465308-1844-4abe-abe6-f184149ee740&client_secret=a2d03fa3-f6c4-45e5-9792-dc0d8b51a25c&refresh_token=eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJLdnB0T0R6RXdlQUp4LXZVWDc1NFJWVnFlak51NGwtTXUxUE9UbVB4Q1dBIn0.eyJqdGkiOiI1YzBjNmZiOC01NjMwLTQzZDUtYjBlMC1jNzZhNzA1ZjYxY2YiLCJleHAiOjE1NTg4MjYxMDMsIm5iZiI6MCwiaWF0IjoxNTU4ODIzMTAzLCJpc3MiOiJodHRwczovL2EucGF5cGVydGljLmNvbS9hdXRoL3JlYWxtcy9lbnRpZGFkZXMiLCJhdWQiOiIxNjQ2NTMwOC0xODQ0LTRhYmUtYWJlNi1mMTg0MTQ5ZWU3NDAiLCJzdWIiOiI0MGZlOTFkNi1mNmQ5LTRmOTMtOWZhOC05MGExYmFiMDllNmEiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiIxNjQ2NTMwOC0xODQ0LTRhYmUtYWJlNi1mMTg0MTQ5ZWU3NDAiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiJlOThlNzYxNC0yMmY5LTRkZWYtYjViNi02ZWE0MTYxNGZlNzQiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbXSwicmVzb3VyY2VfYWNjZXNzIjp7IjE2NDY1MzA4LTE4NDQtNGFiZS1hYmU2LWYxODQxNDllZTc0MCI6eyJyb2xlcyI6WyJjYW5jZWwtc3Vic2NyaXB0aW9uIiwiY3JlYXRlLXN1YnNjcmlwdGlvbiIsImNyZWF0ZS1wYXltZW50IiwidW1hX3Byb3RlY3Rpb24iLCJjYW5jZWwtcGF5bWVudCIsInJldHJ5LXBheW1lbnQiLCJmaWxlLWV4cG9ydCIsImFkbWluaXN0cmF0b3IiLCJyZXF1ZXN0LXJlZnVuZCIsInVwZGF0ZS1wYXltZW50IiwiYXBpLXVzZXIiLCJiYXNlLXVzZXIiLCJ1cGRhdGUtc3Vic2NyaXB0aW9uIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbImFkbWluaXN0cmF0b3IiLCJiYXNlLXVzZXIiLCJ2aWV3LXByb2ZpbGUiXX19LCJzaWduYXR1cmUiOiI5OTkiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJlbnRpZGFkcHJ1ZWJhIiwiZW1haWwiOiJlbnRpZGFkcHJ1ZWJhQHBheXBlcnRpYy5jb20ifQ.CBZt2zsN3hk_I25d81Q1K_cW_-ZJAwdvfUy_f_RhYVrADf9G4RrqHdZ7M-gCWiML6n--5CH9jn2WsBQa9nxb1ySgUwqWCkdybph1F5mZKi0Q6xWNEhIMqqFbV3Qhi1Jyr87xRDn4tlD28vO6xbPASkjbuGdsRucPQMmbG3XrSZQlDPjOZRCqFNUxweDIxbRgpA-qOPIYPtE-OmcU_tMfSLfjtKWbi3z0SGxhqhWDMPjsL_l6PtxTXQgVZgwwSnHF_mDDxIjk_Q_PibQSSZNnLHlIaZ70qDYLC2bPOrq_j5lPU8WK3W9aYJTxqykAhts9hl_YSugchWFaXlpWiVAMxw&undefined='