Azure · Sitecore

[Resuelto] Problema con Sitecore Identity Server y Azure AD

Tuve que configurar una integración entre Azure Active Directory y Sitecore 9.1, y pude lograrlo siguiendo los pasos en el blog de Derek Correia. Luego, también tuve que mapear claims a Perfiles de Usuario.

Una vez que tuve todo en su lugar, añadí usuarios a los grupos de acuerdo con los roles mapeados en Sitecore y funcionó correctamente.

Hace unos días, uno de los usuarios se quejó de no poder acceder a Sitecore usando su cuenta de Azure AD y, con razón, la cuenta no formaba parte del grupo. Así que añadí la cuenta al grupo, y pedí al usuario que lo volviera a comprobar, y recibí la siguiente respuesta

“Sigo viendo el mismo error que antes No tienes acceso al sistema. Si crees que esto es incorrecto, por favor contacta al administrador del sistema.

Sitecore Login You Don't Have Access To The System Error Blog Vinicius Deschamps

¿Extraño, verdad? Sitecore debería verificar el grupo y confirmar que el usuario ya es miembro, para luego permitir su acceso, pero por alguna razón no estaba ocurriendo.

Mientras hacía la depuración, observé que el usuario estaba agregado a los Usuarios en Sitecore

Sitecore User Manager List Blog Vinicius Deschamps

Y realicé dos pasos adicionales

  • Eliminar al usuario creado después del primer inicio de sesión, y pedirle que inicie sesión de nuevo, pero no funcionó (ten en cuenta que una vez más el usuario se añadía automáticamente en Sitecore)
  • Agregar al usuario al grupo Authors de Sitecore, y pedirle que inicie sesión de nuevo; y sorprendentemente el usuario pudo acceder a Sitecore

Desafortunadamente, esto no resolvió el problema porque la idea principal es que los permisos estén mapeados a los Grupos de Azure AD y no a nivel de individuos, por lo que decidí abrir un ticket con Sitecore.

Con base en la información que proporcioné, el equipo de Soporte de Sitecore solicitó realizar algunos pasos

  1. Eliminar a Vinicius del User Manager
  2. Asegurarse de que forme parte del Grupo de Azure AD que permite el acceso a Sitecore
  3. Reiniciar Sitecore CMS y Sitecore Identity Server
  4. Hacer que Vinicius intente iniciar sesión nuevamente y avisarnos los resultados

Después de seguir los pasos, Vinicius pudo iniciar sesión sin problemas, pero decidí realizar pasos adicionales

  1. Eliminar a Vinicius del User Manager
  2. Asegurarse de que no forme parte del Grupo de Azure AD
  3. Hacer que Vinicius intente iniciar sesión de nuevo

Y el usuario aún tenía acceso a Sitecore, así que reinicié Sitecore CMS y Sitecore Identity Server, y como era de esperarse, Vinicius ya no pudo iniciar sesión.

La solución temporal es reiniciar el Sitecore Identity Server cada vez que agregas o eliminas usuarios del Grupo de Azure AD; sin embargo, esto no es aceptable para entornos de producción.

Tras recopilar esta información, el equipo de Soporte de Sitecore volvió con un hotfix

Para tu referencia, si te enfrentas al mismo problema Ticket #322237

De acuerdo con la respuesta del soporte de Sitecore

Ten en cuenta que el hotfix fue creado específicamente para Sitecore 9.1.0, y no debes instalarlo en otras versiones de Sitecore ni en combinación con otros hotfixes, a menos que Sitecore Support lo indique explícitamente.
Por favor, sigue las instrucciones del readme dentro del archivo zip para instalar el hotfix (ten en cuenta que la corrección se aplica al Sitecore IdentityServer, y no a tu sitio CMS de Sitecore).

Deberías reemplazar todos los archivos en los lugares originales en tu Sitecore Identity Server, a continuación se encuentra el contenido de este hotfix

  • Carpeta raíz del sitio web\
    • Sitecore.Plugin.IdentityServer.dll
    • Sitecore.Plugin.IdentityServer.xml
  • Carpeta raíz\sitecore\Sitecore.Plugin.IdentityServer\Config
    • identityServer.xml
  • Carpeta raíz\sitecore\Sitecore.Plugin.IdentityServer\
    • Sitecore.Plugin.manifest

Luego sigue estos pasos

  1. Detener Sitecore Identity Server
  2. Copiar los archivos a Sitecore Identity Server y sobrescribir los archivos existentes
  3. Iniciar Sitecore Identity Server

Una vez que realizaste los pasos anteriores, ejecuté la siguiente validación

  1. Eliminar a Vinicius del User Manager
  2. Asegurarse de que forme parte del Grupo de Azure AD que permite el acceso a Sitecore
  3. Hacer que Vinicius intente iniciar sesión de nuevo

¡FUNCIONÓ!

Sin reinicio requerido después de aplicar el hotfix de Sitecore

Espero que te haya gustado, y nos vemos en mi próximo post!

Créditos

Foto por Louis Hansel en Unsplash

AzureAzure ADSitecore
[Resuelto] Problema con Sitecore Identity Server y Azure AD — Vinicius Deschamps