diff --git a/tutorial-keycloak-completo.md b/tutorial-keycloak-completo.md index efba6fc..92fcfd9 100644 --- a/tutorial-keycloak-completo.md +++ b/tutorial-keycloak-completo.md @@ -471,6 +471,8 @@ Ahora puedes acceder a la consola de administración de Keycloak en http://local - Group Object Classes: `posixGroup` - Membership LDAP Attribute: `memberUid` - Group Name LDAP Attribute: `cn` + - **Membership Attribute Type: `UID`** (¡IMPORTANTE! Debe ser UID, no DN) + - Membership User LDAP Attribute: `uid` - User Roles Retrieve Strategy: `LOAD_GROUPS_BY_MEMBER_ATTRIBUTE` - Member-Of LDAP Attribute: `memberOf` - Mapped Group Attributes: (dejar en blanco) @@ -478,6 +480,9 @@ Ahora puedes acceder a la consola de administración de Keycloak en http://local 4. Haz clic en "Save" 5. En la pantalla del mapper, haz clic en "Sync LDAP Groups to Keycloak" +> **Nota importante sobre el Membership Attribute Type:** +> Es crucial seleccionar `UID` y no `DN` porque en nuestra estructura LDAP, los valores de `memberUid` contienen solo el uid simple del usuario (admin, developer, user) y no el DN completo. Si configuras este campo incorrectamente como `DN`, aparecerá un error al intentar ver los miembros de cualquier grupo. + ### Crear un Cliente para Angular 1. En el menú lateral izquierdo, selecciona "Clients" @@ -1430,6 +1435,15 @@ Si encuentras este error al compilar: 3. Revisa si estás usando `provideHttpClient` con `withInterceptors([includeBearerTokenInterceptor])` 4. Comprueba los patrones en `createInterceptorCondition` para asegurarte de que coincidan con tus URLs +### Problema: No puedes ver los miembros de un grupo en Keycloak + +Este error ocurre cuando hay una configuración incorrecta en el mapeo de grupos LDAP: + +1. **Causa principal**: El tipo de atributo de membresía (Membership Attribute Type) está configurado como `DN` cuando debería ser `UID`. +2. **Solución**: En User Federation → LDAP → group-mapper → Edit, cambia "Membership Attribute Type" de `DN` a `UID`. +3. **Explicación**: En la estructura LDAP creada, los valores de `memberUid` contienen sólo el uid simple (admin, developer, user) y no el DN completo. +4. Después de hacer el cambio, vuelve a ejecutar "Sync LDAP Groups to Keycloak". + ## 13. Verificación y prueba del sistema ### Verificar que Keycloak esté sincronizando correctamente con LDAP @@ -1438,6 +1452,8 @@ Si encuentras este error al compilar: 2. Navega a "Users" en el reino "angular-app" 3. Deberías ver los usuarios de LDAP: admin, developer y user 4. Navega a "Groups" y verifica que los grupos de LDAP estén presentes +5. Haz clic en cada grupo y verifica que los miembros aparezcan correctamente + - Si no aparecen, revisa la sección "Resolución de problemas" sobre el tipo de atributo de membresía ### Probar la aplicación Angular