Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

Username considerations for external authentication

When you use CAS, LDAP, or SAML for authentication, GitHub Enterprise Server follows certain rules to determine the username for each user account on your instance.

About usernames with external authentication

You can configure external authentication for GitHub Enterprise Server using CAS, LDAP, or SAML. 詳しい情報については「Enterpriseでの認証について」を参照してください。

When you use external authentication, GitHub Enterprise Serverインスタンス automatically creates a username for each person when the person signs into GitHub Enterprise Serverインスタンス through your external authentication system for the first time.

Usernames must not exceed 39 characters.

About username normalization

Usernames for user accounts on GitHub Enterprise Server can only contain alphanumeric characters and dashes (-).

When you configure CAS, LDAP, or SAML authentication, GitHub Enterprise Server uses an identifier from the user account on your external authentication provider to determine the username for the corresponding user account on GitHub Enterprise Server. If the identifier includes unsupported characters, GitHub Enterprise Server will normalize the username per the following rules.

  1. GitHub Enterprise Serverは、アカウントのユーザ名に含まれている非英数字をダッシュに変換します。 For example, a username of mona.the.octocat will be normalized to mona-the-octocat. 変換されたユーザ名の先頭及び末尾はダッシュであってはならないことに注意してください。 2つの連続するダッシュを含めることもできません。

  2. メールアドレスから作成されたユーザ名は、@以前の文字を変換して作成されます。

  3. 複数のアカウントが変換後に同じGitHub Enterprise Serverのユーザ名になる場合、最初のユーザアカウントだけが作成されます。 同じユーザ名のそれ以降のユーザは、サインインできません。

Examples of username normalization

Identifier on providerNormalized username on GitHub結果
The.Octocatthe-octocatこのユーザ名の作成は成功します。
!The.Octocat-the-octocatこのユーザ名はダッシュで始まるので作成されません。
The.Octocat!the-octocat-このユーザ名はダッシュで終わるので作成されません。
The!!Octocatthe--octocatこのユーザ名には連続する2つのダッシュが含まれるので作成されません。
The!Octocatthe-octocatこのユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。
The.Octocat@example.comthe-octocatこのユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。
mona.lisa.the.octocat.from.github.united.states@example.commona-lisa-the-octocat-from-github-united-statesThis username is not created, because it exceeds the 39-character limit.

About username normalization with SAML

If you configure SAML authentication for GitHub Enterprise Serverインスタンス, GitHub Enterprise Server determines each person's username by one of the following assertions in the SAML response, ordered by descending priority.

  1. The custom username attribute, if defined and present
  2. http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameアサーション (存在する場合)
  3. http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressアサーション (存在する場合)
  4. NameID要素

GitHub Enterprise Server requires the NameID element even if other attributes are present. For more information, see "SAML configuration reference."

GitHub Enterprise Server creates a mapping between the NameID from the IdP and the username on GitHub Enterprise Serverインスタンス, so the NameID should be persistent, unique, and not subject to change for the lifecycle of the user.

Note: If the NameID for a user does change on the IdP, the person will see an error message when signing into GitHub Enterprise Serverインスタンス. To restore the person's access, you'll need to update the user account's NameID mapping. For more information, see "Updating a user's SAML NameID."