Le troisième jour du calendrier de l'avent Keycloak décrit les étapes pour ** déléguer l'authentification pour les applications Web basées sur Spring Boot à Keycloak **. Keycloak dispose d'un adaptateur pour Spring Boot qui facilite la sécurisation des applications Web basées sur Spring Boot. Cela en fait une application Spring Boot sécurisée qui prend en charge le dernier protocole d'authentification ** «OpenID Connect» ** (OIDC).
Une fois liés, les utilisateurs deviendront «l'utilisateur final» d'OIDC, les applications Web basées sur Spring Boot deviendront la «partie de confiance» d'OIDC et Keycloak deviendra le «fournisseur d'ID ouvert» d'OIDC.
Avant de commencer à utiliser ce didacticiel, vous devez terminer la configuration de Keycloak et créer un utilisateur administrateur. Veuillez consulter l'article Keycloak Advent Calendar Day 2 et effectuez ces tâches. De plus, Gradle ou Maven seront utilisés pour créer et lancer l'application Web, veuillez donc installer l'un ou l'autre.
Cette fois, les applications Web basées sur Keycloak et Spring Boot seront construites sur localhost.
La procédure de coopération est la suivante. Une fois cette opération terminée, vérifiez le fonctionnement.
Avant de créer un royaume, jetons un bref coup d'œil au royaume. ** "Realm" dans Keycloak signifie une plage de regroupement d'utilisateurs, de rôles, de banques de données connectées (LDAP, etc.). ** Les utilisateurs peuvent créer dans le domaine, et la méthode d'authentification, etc. peut être définie pour chaque domaine. Par défaut, il existe un domaine appelé "Master", et tous les royaumes ajoutés par la suite peuvent être inclus et gérés. Le domaine "Master" est le niveau le plus élevé de la hiérarchie des domaines et peut être géré par un super administrateur (le compte administrateur créé lors de la configuration initiale).
Vous pouvez utiliser le royaume "Master" pour gérer les utilisateurs, etc., mais en gros, il est recommandé de créer un royaume, donc créez d'abord un royaume. Vous pouvez également supprimer le royaume "Maître".
Accédez à [http: // localhost: 8080 / auth / admin /](http: // localhost: 8080 / auth / admin /) et connectez-vous à la console d'administration Keycloak avec un compte administrateur.
Dans le menu déroulant intitulé Maître dans le coin supérieur gauche, cliquez sur Ajouter un royaume.
La page Ajouter un domaine s'ouvre. Puisque vous créez un nouveau royaume, entrez "demo" dans le nom du royaume et cliquez sur le bouton "Créer".
Lorsque vous créez un royaume, vous serez redirigé vers la page principale de la console de gestion. Le royaume actuel devrait être "démo".
Vous pouvez basculer entre le royaume maître sous votre contrôle et le royaume que vous venez de créer en cliquant sur le menu déroulant dans le coin supérieur gauche.
Ensuite, créez un client (*). Dans ce cas, le client est la "partie de confiance" définie par OIDC (également appelée "client" dans OAuth 2.0, qui est la base d'OIDC 1.0), et est l'application Spring Boot.
* Pour être précis, créez un profil pour le client. Le client lui-même est créé à l'aide de "Spring Initializr" décrit plus loin. td> tr> table>
Cliquez sur Client dans la barre de menu de gauche. L'écran de la liste des clients s'affiche, cliquez donc sur le bouton "Créer". Tapez "sample-app" et cliquez sur le bouton "Enregistrer". Entrez <! -![Capture d'écran du 05/11/2017 20.27.19.png](https://qiita-image-store.s3.amazonaws.com/0/43869/9f17916d-8ca3-3e59-b85f- ce215ea23c75.png) | --> 1.3. Créer un rôleEnsuite, créez un rôle à attribuer à l'utilisateur. Nous le configurerons plus tard afin que seuls les utilisateurs affectés à ce rôle puissent accéder à l'application Spring Boot. Le rôle
|