web-dev-qa-db-fra.com

Keycloak: clé publique de domaine manquante

lorsque j'accède à la console d'administration keycloak (! à distance) et que je crée un client:

keycloak client settings

la clé OIDC JSON n'a pas de clé publique

keycloak OIDC JSON

Je m'attendrais à avoir dans JSON quelque chose comme:

 "realm-public-key": "MIIBIjANBg....
10
Tomas Marik

keycloak.json dans le plus récent keycloak n'a pas de clé publique de domaine ... en fait, il semble que vous utilisez la version 2.3.x de keycloak, il y a eu quelques changements. Fondamentalement, vous pouvez faire pivoter plusieurs clés publiques pour un domaine. Le document dit ceci: -

Dans la version 2.3.0, nous avons ajouté la prise en charge de la rotation des clés publiques. Lorsque l'administrateur fait tourner les clés de domaine dans la console d'administration Keycloak, l'adaptateur client sera en mesure de le reconnaître et de télécharger automatiquement la nouvelle clé publique à partir de Keycloak. Cependant, ce téléchargement automatique de nouvelles clés se fait juste si vous n'avez pas d'option realm-public-key dans votre adaptateur avec la clé publique codée en dur. Pour cette raison, nous ne recommandons plus d'utiliser l'option realm-public-key dans la configuration de l'adaptateur. Notez que cette option est toujours prise en charge, mais elle peut être utile si vous voulez vraiment avoir une clé publique codée en dur dans la configuration de votre adaptateur et ne jamais télécharger la clé publique depuis Keycloak. En théorie, une des raisons peut être d'éviter une attaque d'homme au milieu si vous avez un réseau non fiable entre l'adaptateur et Keycloak, mais dans ce cas, il est bien préférable d'utiliser HTTPS, qui sécurisera toutes les demandes entre adaptateur et Keycloak.

17
UchihaItachi

Je ne sais toujours pas pourquoi il n'y a pas de clé publique dans keycloak OIDC JSON (probablement pour des raisons de sécurité), mais je l'ai trouvé sous:

Paramètres du domaine> Clés> Affichage des clés publiques

enter image description here

10
Tomas Marik