2017-10-17 19 views
0

J'utilise Keycloak avec un client AngularJs et un backend Java java (en utilisant Play Framework 2.6). J'ai utilisé openid-connect. Le client est configuré avec Type d'accèspublic alors que le serveur REST est configuré en tant que bearer-only. J'utilise le Keycloak JS adapter avec le client et le Keycloak Java adapter avec le serveur REST.Jeton d'actualisation de la force de verrouillage KeyCloak

L'authentification fonctionne correctement. En utilisant le java admin-cli à partir du serveur REST, j'ajoute un attribute à l'utilisateur et en utilisant un mapper personnalisé, ce attribute est ajouté directement dans le Access token.

Le problème est que lorsque j'ajoute ou met à jour cet attribut, je ne peux pas voir la valeur mise à jour dans le Access token. Je ne peux le voir qu'après un se déconnecter - se connecter ou un recharger du client.

Comment puis-je forcer l'actualisation du jeton d'accès à partir du serveur REST? Il existe d'autres stratégies pour voir l'attribut mis à jour dans le jeton d'accès?

Répondre

1

Dans un bearer-only, il ne sera pas possible d'actualiser le jeton. Utilisez-vous keycloak.updateToken() côté client? L'autre option consiste à appeler le point de terminaison user-info à partir de votre serveur REST, mais pas sûr que cela vous intéresse car il ne figurera pas dans le jeton.

+0

J'ai trouvé une solution mettant à jour le jeton en utilisant 'keycloak.updateToken()' sur le client. – Atropo