Keycloak
Aprenda a configurar LibreChat para usar Keycloak para la autenticación de usuarios.
- Acceder a la consola de administración de Keycloak:
- Abra la Keycloak Admin Console en su navegador web. Por lo general, se encuentra en una URL como
http://localhost:8080/auth/admin/.
- Crear un Realm (si es necesario):
- Si aún no tienes un realm para tu aplicación, crea uno. Haz clic en 'Add Realm' y asígnale un nombre.
- Crear un cliente:
- Dentro de su ámbito, haga clic en 'Clients' y luego en 'Create'.
- Ingrese un client ID y seleccione 'openid-connect' como el Client Protocol.
- Establezca 'Client Authentication' en 'On'.
- En 'Valid Redirect URIs', introduce
http://localhost:3080/oauth/openid/callbacko la URI adecuada para tu aplicación.
- Configurar el cliente:
- Después de crear el cliente, serás redirigido a su página de configuración.
- Tome nota del 'Client ID' y el 'Secret' de la pestaña 'Credentials'; los necesitará para su aplicación.
- Agregar roles (Opcional): Si deseas restringir el acceso a usuarios con roles específicos, puedes definir roles en Keycloak y asignarlos a los usuarios.
- Ve a la pestaña 'Roles' en tu cliente o reino (dependiendo de dónde quieras definir los roles).
- Cree roles que coincidan con el/los valor(es) que tiene en
OPENID_REQUIRED_ROLE.
- Asignar roles a los usuarios (Opcional):
- Ve a 'Users', selecciona un usuario y ve a la pestaña 'Role Mappings'.
- Asigne al menos uno de los roles especificados en
OPENID_REQUIRED_ROLEal usuario.
- Obtener la ruta de la lista de roles dentro del token (Opcional):
- Decodifique su jwtToken del proveedor OpenID y determine la ruta para la lista de roles dentro del token de acceso. Por ejemplo, si está utilizando Keycloak, la ruta es
realm_access.roles. - Coloque esta ruta en la variable
OPENID_REQUIRED_ROLE_PARAMETER_PATHen el archivo.env. - Mediante el parámetro
OPENID_REQUIRED_ROLE_TOKEN_KINDpuede especificar qué tipo de token desea utilizar. Los valores posibles sonaccesseid.
- Actualice la configuración de su proyecto:
- Abra el archivo
.enven la carpeta de su proyecto y añada las siguientes variables:
¿Qué te parece esta guía?