web-dev-qa-db-fra.com

Actualiser access_token via refresh_token dans Keycloak

Je dois faire en sorte que l’utilisateur garde la connexion au système si son access_token est expiré et que l’utilisateur souhaite conserver sa connexion. Comment obtenir access_token récemment mis à jour avec l'utilisation de refresh_token sur Keycloak ?

J'utilise vertx-auth pour l'implémentation auth avec Keycloak on vert.x . Est-il possible d'actualiser access_token avec l'API REST de vertx-auth ou Keycloak ? Ou quelle sera une autre mise en œuvre de cela?

2
RaiBnod

keycloak a REST API pour créer un access_token à l'aide de refresh_token. C'est un POST endpoint with application/x-www-form-urlencoded

Voici à quoi ça ressemble: 

Method: POSTURL: https://keycloak.example.com/auth/realms/myrealm/protocol/openid-connect/tokenBody type: x-www-form-urlencodedForm fields:
client_id : <my-client-name>grant_type : refresh_tokenrefresh_token: <my-refresh-token>

Cela vous donnera un nouveau jeton d'accès en utilisant le jeton d'actualisation.

NOTE: si votre jeton d'actualisation est expiré, il lève une exception 400 en vous permettant de vous reconnecter. 

Découvrez un exemple dans Postman, vous pouvez développer et utiliser l’API correspondante.

 Sample in Postman

10
Yogendra Mishra

J'ai essayé avec 4.8.2.Final, il suit unauthorized_client même avec un jeton d'accès précédent comme 'Bearer' . Ensuite, j'ai essayé avec Basic YXBwLXByb3h5OnNlY3JldA== dans l'en-tête Authorization . Ensuite, cela a fonctionné, mais je ne suis toujours pas sûr que Je fais la bonne chose. 

0
Sampath Nawgala