Skip to main content

Enterprise Server 3.20 actualmente está disponible como versión candidata para lanzamiento.

Consideraciones sobre el nombre de usuario para la autenticación externa

Cuando usas CAS, LDAP o SAML para la autenticación, GitHub sigue ciertas reglas para determinar el nombre de usuario para cada cuenta de usuario en la instancia.

Acerca de los nombres de usuario con autenticación externa

Puedes configurar la autenticación externa para GitHub Enterprise Server mediante CAS, LDAP o SAML. Para más información, consulta Aspectos básicos de la administración de identidades y acceso.

Al usar la autenticación externa, tu instancia de GitHub Enterprise Server crea automáticamente un nombre de usuario para cada persona cuando la persona inicia sesión en tu instancia de GitHub Enterprise Server mediante el sistema de autenticación externo por primera vez.

Los nombres de usuario no deben superar los 39 caracteres.

Nota:

Si usas SAML con el aprovisionamiento de SCIM, los usuarios deben estar aprovisionados mediante SCIM antes de usar el inicio de sesión único mediante SAML. Si un usuario no se ha aprovisionado, no podrá completar la autenticación en la instancia de GitHub Enterprise Server. Para más información, consulta Acerca del aprovisionamiento de usuarios con SCIM en GitHub Enterprise Server.

Acerca de la normalización del nombre de usuario

Los nombres de usuario de las cuentas de usuario en GitHub solo pueden contener caracteres alfanuméricos y guiones (-).

Al configurar la autenticación CAS, LDAP o SAML (sin SCIM), GitHub Enterprise Server usa un identificador de la cuenta de usuario en el proveedor de autenticación externo para determinar el nombre de usuario de la cuenta de usuario correspondiente en la instancia de GitHub Enterprise Server. Al configurar la autenticación de SAML con SCIM, GitHub usa el valor del atributo userName de SCIM que se envía desde el IdP para determinar el nombre de usuario de la cuenta de usuario correspondiente. Si el identificador incluye caracteres no admitidos, GitHub normalizará el nombre de usuario según las reglas siguientes.

  1. GitHub normalizará cualquier carácter no alfanumérico del nombre de usuario de su cuenta en un guion. Por ejemplo, un nombre de usuario de mona.the.octocat se normalizará en mona-the-octocat. Nota que los nombres de usuarios normalizados tampoco pueden comenzar o terminar con una raya. Tampoco pueden contener dos rayas seguidas.

  2. El uso de mayúsculas y minúsculas en el valor proporcionado por el IdP se conserva en el nombre de usuario normalizado.

  3. Los nombres de usuario creados a partir de direcciones de correo electrónico se crean con los caracteres normalizados que preceden al carácter @.

  4. Los nombres de usuario creados a partir de cuentas de dominio se crean a partir de los caracteres normalizados después del separador \\.

  5. Si se normalizan varias cuentas en el mismo nombre de usuario, solo se creará la primera cuenta de usuario. Los siguientes usuarios con el mismo nombre de usuario no podrán registrarse.

Ejemplos de normalización de nombres de usuario

Identificador en el proveedorNombre de usuario normalizado en GitHub.comResultado
The.OctocatThe-OctocatEl nombre de usuario se ha creado con éxito.
!The.Octocat-The-OctocatNo se crea este nombre de usuario debido a que comienza con una raya.
The!!OctocatThe--OctocatNo se crea este nombre de usuario debido a que contiene dos rayas seguidas.
The!OctocatThe-OctocatNo se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía.
The.Octocat@example.comThe-OctocatNo se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía.
internal\\The.OctocatThe-OctocatNo se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía.
mona.lisa.the.octocat.from.github.united.states@example.commona-lisa-the-octocat-from-github-united-statesEste nombre de usuario no se crea porque supera el límite de 39 caracteres.

Acerca de la normalización de nombres de usuario con SAML

Si configuras la autenticación SAML para tu instancia de GitHub Enterprise Server, GitHub determina el nombre de usuario de cada persona mediante una de las aserciones siguientes en la respuesta SAML, ordenadas por prioridad descendente.

  1. El atributo username personalizado, si está definido y si hay uno.
  2. Una aserción http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name, si está presente.
  3. Una aserción http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress, si está presente.
  4. El elemento NameID

GitHub requiere el elemento NameID incluso si hay otros atributos. Para más información, consulta Referencia de configuración de SAML.

GitHub crea una asignación entre el valor NameID del IdP y el nombre de usuario en {data variables.location.product_location %}, por lo que el valor NameID debe ser persistente y único, y no estar sujeto a cambios para el ciclo de vida del usuario.

Nota:

Si el NameID de un usuario cambia en el IdP, la persona verá un mensaje de error al iniciar sesión en tu instancia de GitHub Enterprise Server. Para restaurar el acceso de la persona, deberás actualizar la asignación de NameID de la cuenta de usuario. Para más información, consulta Actualización de NameID de SAML de un usuario.