Keycloak
Apprenez à configurer LibreChat pour utiliser Keycloak pour l'authentification des utilisateurs.
- Accéder à la console d'administration Keycloak :
- Ouvrez la console d'administration Keycloak dans votre navigateur web. Celle-ci se trouve généralement à une URL telle que
http://localhost:8080/auth/admin/.
- Créer un Realm (si nécessaire) :
- Si vous n'avez pas encore de realm pour votre application, créez-en un. Cliquez sur 'Add Realm' et donnez-lui un nom.
- Créer un client :
- Dans votre domaine, cliquez sur « Clients », puis sur « Create ».
- Saisissez un client ID et sélectionnez 'openid-connect' comme Client Protocol.
- Réglez « Client Authentication » sur « On ».
- Dans 'Valid Redirect URIs', saisissez
http://localhost:3080/oauth/openid/callbackou l'URI appropriée pour votre application.
- Configurer le client :
- Après avoir créé le client, vous serez redirigé vers sa page de paramètres.
- Notez le 'Client ID' et le 'Secret' depuis l'onglet 'Credentials' – vous en aurez besoin pour votre application.
- Ajouter des rôles (Optionnel) : Si vous souhaitez restreindre l'accès aux utilisateurs ayant des rôles spécifiques, vous pouvez définir des rôles dans Keycloak et les assigner aux utilisateurs.
- Allez dans l'onglet 'Roles' de votre client ou realm (selon l'endroit où vous souhaitez définir les rôles).
- Créez des rôles qui correspondent à la ou aux valeurs que vous avez dans
OPENID_REQUIRED_ROLE.
- Attribuer des rôles aux utilisateurs (Optionnel) :
- Allez dans 'Users', sélectionnez un utilisateur, et allez dans l'onglet 'Role Mappings'.
- Attribuez au moins l'un des rôles spécifiés dans
OPENID_REQUIRED_ROLEà l'utilisateur.
- Obtenir le chemin de la liste des rôles à l'intérieur du jeton (Optionnel) :
- Décodez votre jwtToken provenant du fournisseur OpenID et déterminez le chemin d'accès à la liste des rôles dans le jeton d'accès. Par exemple, si vous utilisez Keycloak, le chemin est
realm_access.roles. - Mettez ce chemin dans la variable
OPENID_REQUIRED_ROLE_PARAMETER_PATHdu fichier.env. - Grâce au paramètre
OPENID_REQUIRED_ROLE_TOKEN_KIND, vous pouvez spécifier le type de jeton que vous souhaitez utiliser. Les valeurs possibles sontaccessetid.
- Mettez à jour la configuration de votre projet :
- Ouvrez le fichier
.envdans votre dossier de projet et ajoutez les variables suivantes :
Que pensez-vous de ce guide ?