Skip to main content

Considérations relatives au nom d’utilisateur pour une authentification externe

Quand vous utilisez CAS, LDAP ou SAML pour l’authentification, GitHub Enterprise Server suit certaines règles pour identifier le nom d’utilisateur de chaque compte d’utilisateur sur votre instance.

À propos des noms d’utilisateur avec une authentification externe

Vous pouvez configurer une authentification externe pour GitHub Enterprise Server à l’aide du protocole CAS, LDAP ou SAML. Pour plus d’informations, consultez « À propos de l’authentification pour votre entreprise ».

Quand vous utilisez une authentification externe, your GitHub Enterprise Server instance crée automatiquement un nom d’utilisateur pour chaque personne qui se connecte à your GitHub Enterprise Server instance via votre système d’authentification externe pour la première fois.

Les noms d’utilisateur ne doivent pas dépasser 39 caractères.

À propos de la normalisation du nom d’utilisateur

Les noms d’utilisateur pour des comptes d’utilisateur sur GitHub Enterprise Server ne peuvent contenir que des caractères alphanumériques et des tirets (-).

Lorsque vous configurez une authentification CAS, LDAP ou SAML, GitHub Enterprise Server utilise un identificateur du compte d’utilisateur sur votre fournisseur d’authentification externe pour déterminer le nom d’utilisateur du compte d’utilisateur correspondant sur GitHub Enterprise Server. Si l’identificateur inclut des caractères non pris en charge, GitHub Enterprise Server normalise le nom d’utilisateur conformément aux règles suivantes.

  1. GitHub Enterprise Server normalise tout caractère non alphanumérique dans le nom d’utilisateur de votre compte en tiret. Par exemple, le nom d’utilisateur mona.the.octocat est normalisé en mona-the-octocat. Notez que les noms d’utilisateur normalisés ne peuvent ni commencer ni se terminer par un tiret. Ils ne peuvent pas non plus contenir deux tirets consécutifs.

  2. Les noms d’utilisateur créés à partir d’adresses e-mail sont créés à partir des caractères normalisés qui précèdent le caractère @.

  3. Les noms d’utilisateur créés à partir de comptes de domaine sont créés à partir des caractères normalisés après le séparateur \\.

  4. Si plusieurs comptes sont normalisés dans le même nom d’utilisateur GitHub Enterprise Server, seul le premier compte d’utilisateur est créé. Les utilisateurs suivants ayant le même nom d’utilisateur ne pourront pas se connecter.

Exemples de normalisations de nom d’utilisateur

Identificateur sur le fournisseurNom d’utilisateur normalisé sur GitHubRésultats
The.Octocatthe-octocatCe nom d’utilisateur est créé avec succès.
!The.Octocat-the-octocatCe nom d’utilisateur n’est pas créé, car il commence par un tiret.
The.Octocat!the-octocat-Ce nom d’utilisateur n’est pas créé, car il se termine par un tiret.
The!!Octocatthe--octocatCe nom d’utilisateur n’est pas créé, car il contient deux tirets consécutifs.
The!Octocatthe-octocatCe nom d’utilisateur n’est pas créé. Bien que le nom d’utilisateur normalisé soit valide, il existe déjà.
The.Octocat@example.comthe-octocatCe nom d’utilisateur n’est pas créé. Bien que le nom d’utilisateur normalisé soit valide, il existe déjà.
internal\\The.Octocatthe-octocatCe nom d’utilisateur n’est pas créé. Bien que le nom d’utilisateur normalisé soit valide, il existe déjà.
mona.lisa.the.octocat.from.github.united.states@example.commona-lisa-the-octocat-from-github-united-statesCe nom d’utilisateur n’est pas créé, car il dépasse la limite de 39 caractères.

À propos de la normalisation du nom d’utilisateur avec SAML

Si vous configurez l’authentification SAML pour your GitHub Enterprise Server instance, GitHub Enterprise Server détermine le nom d’utilisateur de chaque personne par l’une des assertions suivantes dans la réponse SAML, classées par ordre de priorité décroissant.

  1. L’attribut username personnalisé, s’il est défini et présent
  2. Une assertion http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name, si elle est présente
  3. Une assertion http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress, si elle est présente
  4. Élément NameID

GitHub Enterprise Server nécessite l’élément NameID, même si d’autres attributs sont présents. Pour plus d’informations, consultez la « Référence de configuration SAML ».

GitHub Enterprise Server crée un mappage entre le NameID du fournisseur d’identité et le nom d’utilisateur sur your GitHub Enterprise Server instance, de sorte que NameID doit être persistant, unique et non modifiable pendant le cycle de vie de l’utilisateur.

Remarque : si le NameID d’un utilisateur change sur le fournisseur d’identité, un message d’erreur s’affiche lors de la connexion à your GitHub Enterprise Server instance. Pour restaurer l’accès de la personne, vous devez mettre à jour le mappage de NameID du compte d’utilisateur. Pour plus d’informations, consultez « Mise à jour du NameID SAML d’un utilisateur ».