Acerca de los problemas con la autenticación SAML
GitHub Enterprise Server registra los mensajes de error de la autenticación SAML fallida en los registros del diario de systemd para el contenedor. Puedes revisar las respuestas en este registro, así como configurar un registro más detallado.
Para obtener más información sobre los requisitos de respuesta de SAML, consulta AUTOTITLE.
Configurar la depuración de SAML
Puedes configurar GitHub Enterprise Server a fin de escribir registros de depuración verbosos en cada intento de autenticación de SAML. Es posible que puedas solucionar los problemas de los intentos de autenticación fallidos con esta salida adicional.
Advertencia
- Habilita la depuración de SAML solo temporalmente e inhabilita la depuración inmediatamente después de que termines de solucionar los problemas. Si dejas habilitada la depuración, el tamaño de los registros aumenta mucho más rápido de lo habitual, lo que puede afectar negativamente el rendimiento de GitHub Enterprise Server.
- Prueba la configuración de autenticación nueva de tu instancia de GitHub Enterprise Server en un entorno de ensayo antes de aplicarla en el entorno de producción. Para más información, consulta AUTOTITLE.
-
En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Enterprise settings.
-
En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Policies.
-
En Policies, haz clic en Opciones.
-
En "SAML debugging" (Depuración de SAML), seleccione la lista desplegable y haga clic en Habilitado.
-
Intenta iniciar sesión en tu instancia de GitHub Enterprise Server mediante tu IdP de SAML.
-
Revisa la salida de depuración en el diario para tu instancia de GitHub Enterprise Server. Para más información, consulta AUTOTITLE.
-
Cuando haya terminado de solucionar problemas, seleccione la lista desplegable y haga clic en Disabled (Deshabilitado).
Descodificación de respuestas
Parte de la salida del diario de para puede estar codificada en Base64. Puedes acceder al shell administrativo y utilizar la utilidad de en tu instancia de GitHub Enterprise Server para descodificar estas respuestas. Para más información, consulta AUTOTITLE.
Para descodificar la salida, ejecuta el comando siguiente, reemplazando por la salida codificada del registro.
base64 --decode ENCODED_OUTPUT
Error: "Otro usuario ya posee la cuenta"
Cuando un usuario inicia sesión en tu instancia de GitHub Enterprise Server por primera vez con la autenticación SAML, GitHub crea una cuenta de usuario en la instancia y asigna los atributos de SAML a la cuenta.
Cuando el usuario vuelve a iniciar sesión, GitHub Enterprise Server compara la asignación de la cuenta con la respuesta del IdP. Si los elementos o de la respuesta del IdP ya no coinciden con los valores que GitHub espera para el usuario, fallará el inicio de sesión. El usuario verá el siguiente mensaje.
Otro usuario ya posee la cuenta. Haga que el administrador compruebe el registro de autenticación.
Este mensaje habitualmente indica que el nombre de usuario o dirección de correo electrónico cambió en el IdP. Asegúrese de que la asignación de y de la cuenta de usuario en GitHub Enterprise Server coincida con el y del usuario en su IdP. Para más información, consulta AUTOTITLE.
Error: El destinatario en la respuesta SAML estaba en blanco o no era válido
Si no coincide con la URL de ACS para tu instancia de GitHub Enterprise Server, cuando un usuario intente autenticarse aparecerá uno de los dos mensajes de error siguientes.
Recipient in the SAML response must not be blank.
Recipient in the SAML response was not valid.
Asegúrate de que se establezca el valor en tu IdP a la URL completa de ACS para tu instancia de GitHub Enterprise Server. Por ejemplo, .
Error: "La respuesta SAML no está firmada o se ha modificado"
Si tu IdP no firma la respuesta de SAML, o si la firma no empata con el contenido, se mostrará el siguiente mensaje de error en la bitácora de autenticación.
SAML Response is not signed or has been modified.
Asegúrate de configurar aserciones firmadas para la aplicación de GitHub en tu IdP.
Error: "Audiencia no es válida" o "No se encontró ninguna aserción"
Si la respuesta del IdP tiene un valor que falta o que es incorrecto , se mostrará el mensaje de error siguiente en el registro de autenticación.
Audience is invalid. Audience attribute does not match https://YOUR-INSTANCE-URL
Asegúrate de establecer el valor de del IdP en para tu instancia de GitHub Enterprise Server, que es la dirección URL completa de la instancia. Por ejemplo, .
Error: "La hora actual es anterior a la condición NotBefore"
Este error puede producirse cuando hay una diferencia de tiempo demasiado grande entre el IdP y GitHub, lo que suele ocurrir con IdP auto hospedados.
Para evitar este problema, se recomienda apuntar el dispositivo al mismo origen del Protocolo de tiempo de red (NTP) que el IdP, si es posible. Si te aparece este error, asegúrate de que la hora del appliance esté sincronizada correctamente con el servidor NTP. Puedes utilizar el comando chronyc en el shell administrativo para sincronizar la hora de inmediato. Para más información, consulta Configuración de la sincronización de la hora.
Si se usa ADFS como idP, también se establece NotBeforeSkew en ADFS en 1 minuto para GitHub. Si NotBeforeSkew se establece en 0, hasta diferencias de tiempo muy pequeñas, incluidos milisegundos, puede causar problemas de autenticación.
Error: el resumen no coincide
Un error "Desajuste de resumen" indica que el IdP de SAML está usando un certificado de firma SAML diferente al que ha cargado en GitHub o que el Método de Firma o Método de Resumen configurado en GitHub difiere del que utiliza su IdP.
Vuelve a descargar este certificado SAML de tu IdP y valídalo usando una herramienta en línea, como Format a x509 cert tool de OneLogin. A continuación, vuelve a cargar el certificado SAML en la sección "Autenticación" de la consola de administración de GitHub Enterprise Server. Consulta AUTOTITLE.