Skip to main content

Überlegungen zum Benutzernamen für die externe Authentifizierung

Wenn du CAS, LDAP oder SAML für die Authentifizierung verwendest, befolgt GitHub Enterprise Server bestimmte Regeln, um den Benutzernamen für jedes Benutzerkonto auf deiner Instanz zu bestimmten.

Informationen zu Benutzernamen mit externer Authentifizierung

Du kannst die externe Authentifizierung für GitHub Enterprise Server mit CAS, LDAP oder SAML konfigurieren. Weitere Informationen findest du unter Informationen zur Identitäts- und Zugriffsverwaltung.

Wenn du die externe Authentifizierung verwendest, erstellt Ihre GitHub Enterprise Server-Instance automatisch einen Benutzernamen für jede Person, wenn sich diese Person über dein externes Authentifizierungssystem zum ersten Mal bei Ihre GitHub Enterprise Server-Instance anmeldet.

Benutzernamen dürfen 39 Zeichen nicht überschreiten.

Informationen zur Normalisierung von Benutzernamen

Benutzernamen für Benutzerkonten auf GitHub dürfen nur alphanumerische Zeichen und Bindestriche (-) enthalten.

Wenn du CAS, LDAP oder die SAML-Authentifizierung konfigurierst, verwendet GitHub Enterprise Server einen Bezeichner aus dem Benutzerkonto auf deinem externen Authentifizierungsanbieter, um den Benutzernamen für das entsprechende Benutzerkonto für GitHub Enterprise Server zu bestimmen. Wenn der Bezeichner nicht unterstützte Zeichen enthält, normalisiert GitHub Enterprise Server den Benutzernamen gemäß der folgenden Regeln.

  1. GitHub Enterprise Server normalisieren alle nicht-alphanumerischen Zeichen im Benutzernamen deines Kontos in einen Bindestrich. So wird der Benutzername mona.the.octocat beispielsweise auf mona-the-octocat normalisiert. Beachte, dass die normalisierten Benutzernamen weder mit einem Bindestrich beginnen noch darauf enden können. Darüber hinaus können sie nicht zwei aufeinanderfolgende Bindestriche enthalten.

  2. Aus E-Mail-Adressen erstellte Benutzernamen werden anhand der normalisierten Zeichen erstellt, die dem Zeichen @ vorangestellt sind.

  3. Benutzernamen, die anhand von Domänenkonten erstellt wurden, werden aus den normalisierten Zeichen nach dem Trennzeichen \\ erstellt.

  4. Wenn mehrere Konten zum selben GitHub Enterprise Server-Benutzernamen normalisiert werden, wird nur das erste Benutzerkonto erstellt. Nachfolgende Benutzer mit demselben Benutzernamen können sich nicht anmelden.

Beispiele für die Normalisierung von Benutzernamen

Bezeichner des AnbietersNormalisierter Benutzername für GitHubErgebnis
The.Octocatthe-octocatDieser Benutzername wird erfolgreich erstellt.
!The.Octocat-the-octocatDieser Benutzername wird nicht erstellt, da er mit einem Bindestrich beginnt.
The.Octocat!the-octocat-Dieser Benutzername wird nicht erstellt, da er mit einem Bindestrich endet.
The!!Octocatthe--octocatDieser Benutzername wird nicht erstellt, da er zwei aufeinanderfolgende Bindestriche enthält.
The!Octocatthe-octocatDieser Benutzername wird nicht erstellt. Obwohl der normalisierte Benutzername gültig ist, ist er bereits vorhanden.
The.Octocat@example.comthe-octocatDieser Benutzername wird nicht erstellt. Obwohl der normalisierte Benutzername gültig ist, ist er bereits vorhanden.
internal\\The.Octocatthe-octocatDieser Benutzername wird nicht erstellt. Obwohl der normalisierte Benutzername gültig ist, ist er bereits vorhanden.
mona.lisa.the.octocat.from.github.united.states@example.commona-lisa-the-octocat-from-github-united-statesDieser Benutzername wird nicht erstellt, da er den Grenzwert von 39 Zeichen überschreitet.

Informationen zur Normalisierung des Benutzernamens mit SAML

Wenn du die SAML-Authentifizierung für Ihre GitHub Enterprise Server-Instance, konfigurierst, bestimmt GitHub Enterprise Server den Benutzernamen jeder Person durch eine der folgenden Behauptungen in der SAML-Antwort, sortiert durch absteigende Priorität.

  1. das benutzerdefinierte username-Attribut, sofern definiert und vorhanden
  2. Eine http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name-Assertion, wenn vorhanden
  3. Eine http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress-Assertion, wenn vorhanden
  4. Das NameID-Element

GitHub Enterprise Server erfordert das NameID-Element auch dann, wenn andere Attribute vorhanden sind. Weitere Informationen findest du unter Referenz zur SAML-Konfiguration.

GitHub Enterprise Server erstellt eine Zuordnung zwischen NameID aus dem IdP und dem Benutzernamen auf Ihre GitHub Enterprise Server-Instance, sodass NameID beständig, eindeutig und nicht dem Lebenszyklus des Benutzers unterliegen soll.

Hinweis: Wenn sich die NameID für eine Person für den IdP ändert, wird dem Benutzer bzw. der Benutzerin beim Versuch, sich bei Ihre GitHub Enterprise Server-Instance anzumelden, eine Fehlermeldung angezeigt. Damit der Zugriff der Person wiederhergestellt werden kann, musst du die NameID-Zuordnung des Benutzerkontos entsprechend aktualisieren. Weitere Informationen findest du unter Aktualisieren der SAML-NameID von Benutzer*innen.