Passer au contenu principal

Keycloak

Le système Keycloak de JBoss Keycloak est un système de gestion d'identité open-source et largement utilisé qui prend en charge l'intégration avec des applications via SAML et OpenID Connect. Il peut également fonctionner comme un courtier d'identité entre d'autres fournisseurs tels que LDAP ou d'autres fournisseurs SAML et des applications qui prennent en charge SAML ou OpenID Connect.

Voici un exemple de la façon de configurer une nouvelle entrée de client dans Keycloak et de configurer Casdoor pour l'utiliser afin de permettre la connexion à l'interface utilisateur par les utilisateurs de Keycloak qui sont autorisés à accéder via la configuration de Keycloak.

Configurer Keycloak

Pour cet exemple, faisons les choix de configuration suivants et suppositions :

  • Supposons que vous exécutez Casdoor en mode dev localement. L'interface utilisateur de Casdoor est disponible à http://localhost:7001 et le serveur est disponible à http://localhost:8000. Remplacez par l'URL appropriée si nécessaire.
  • Supposons que vous exécutez Keycloak localement. L'interface utilisateur de Keycloak est disponible à http://localhost:8080/auth.
  • Sur cette base, l'URL ACS SP pour ce déploiement sera : http://localhost:8000/api/acs.
  • Notre ID d'entité SP utilisera la même URL : http://localhost:8000/api/acs.

Vous pouvez utiliser le domaine par défaut ou créer un nouveau domaine.

Ajouter un domaine Keycloak

Domaine Keycloak

Ajouter une entrée de client dans Keycloak

info

Pour plus de détails sur les clients Keycloak, reportez-vous à la documentation Keycloak.

Cliquez sur Clients dans le menu puis cliquez sur Créer pour aller à la page Ajouter un client. Remplissez les champs comme suit :

  • ID du client : http://localhost:8000/api/acs - Ceci sera l'ID d'entité SP utilisé dans la configuration de Casdoor plus tard.
  • Protocole du client : saml.
  • Point de terminaison SAML du client : http://localhost:8000/api/acs - Cette URL est l'endroit où vous souhaitez que le serveur Keycloak envoie les demandes et réponses SAML. Généralement, les applications ont une URL pour traiter les demandes SAML. Plusieurs URL peuvent être définies dans l'onglet Paramètres du client.

Ajouter un client Keycloak

Cliquez sur Enregistrer. Cette action crée le client et vous amène à l'onglet Paramètres.

Les éléments suivants font partie des paramètres :

  1. Nom - Casdoor. Ceci est uniquement utilisé pour afficher un nom convivial aux utilisateurs de Keycloak dans l'interface utilisateur de Keycloak. Vous pouvez utiliser n'importe quel nom que vous préférez.
  2. Activé - Sélectionnez on.
  3. Inclure la déclaration Authn - Sélectionnez on.
  4. Signer les documents - Sélectionnez on.
  5. Signer les assertions - Sélectionnez off.
  6. Chiffrer les assertions - Sélectionnez off.
  7. Signature du client requise - Sélectionnez off.
  8. Forcer le format de l'ID de nom - Sélectionnez on.
  9. Format de l'ID de nom - Sélectionnez username.
  10. URI de redirection valides - Ajouter http://localhost:8000/api/acs.
  11. URL de traitement SAML principal - http://localhost:8000/api/acs.
  12. Configuration fine des points de terminaison SAML
    1. URL de liaison POST du service de consommation d'assertion - http://localhost:8000/api/acs.
    2. URL de liaison de redirection du service de consommation d'assertion - http://localhost:8000/api/acs.

Enregistrer la configuration.

Configurer le client Keycloak

conseil

Si vous souhaitez signer la demande d'authentification, vous devez activer l'option Signature du client requise et télécharger le certificat généré par vous-même. La clé privée et le certificat utilisés dans Casdoor, token_jwt_key.key et token_jwt_key.pem, se trouvent dans le répertoire object. Dans Keycloak, vous devez cliquer sur l'onglet Clés, cliquer sur le bouton Importer, sélectionner Format d'archive comme Certificat PEM, et télécharger le certificat.

Cliquez sur l'onglet Installation.

Pour Keycloak <= 5.0.0, sélectionnez l'option de format - Descripteur IDPSSODescriptor des métadonnées SAML et copiez les métadonnées.

Pour Keycloak 6.0.0+, sélectionnez l'option de format - Fichiers Mod Auth Mellon et cliquez sur Télécharger. Décompressez le fichier .zip téléchargé, localisez idp-metadata.xml et copiez les métadonnées.

Télécharger les métadonnées

Copier les métadonnées

Configurer dans Casdoor

Créer un nouveau fournisseur dans Casdoor.

Sélectionnez la catégorie comme SAML, le type comme Keycloak. Copiez le contenu des métadonnées et collez-le dans le champ Métadonnées. Les valeurs de Point de terminaison, IdP, et URL de l'émetteur seront générées automatiquement après avoir cliqué sur le bouton Analyser. Enfin, cliquez sur le bouton Enregistrer.

conseil

Si vous activez l'option Signature du client requise dans Keycloak et téléchargez le certificat, veuillez activer l'option Signer la demande dans Casdoor.

Fournisseur Casdoor

Modifier l'application que vous souhaitez configurer dans Casdoor. Sélectionnez le fournisseur que vous venez d'ajouter et cliquez sur le bouton Enregistrer.

Ajouter un fournisseur pour l&#39;application

Valider l'effet

Allez à l'application que vous venez de configurer et vous trouverez une icône Keycloak sur la page de connexion.

Cliquez sur l'icône et vous serez redirigé vers la page de connexion Keycloak. Après une authentification réussie, vous serez connecté à Casdoor.

Connexion Casdoor