Skip to main content
我们经常发布文档更新,此页面的翻译可能仍在进行中。 有关最新信息,请访问英语文档
GitHub AE 目前处于受限版。

外部身份验证的用户名注意事项

GitHub AE 遵循某些规则来确定企业中。

关于使用外部身份验证的用户名

GitHub AE 使用 SAML SSO 进行身份验证,并在用户首次通过标识提供者 (IdP) 登录时自动为其创建一个用户名。

用户名不得超过 39 个字符。

关于用户名规范化

GitHub AE 上的用户帐户的用户名只能包含字母数字字符和短划线 (-)。

配置 SAML 身份验证时,GitHub AE 使用 IdP 上用户帐户的标识符来确定 GitHub AE 上相应用户帐户的用户名。 如果此标识符包含不受支持的字符,GitHub AE 将按照以下规则规范化用户名。

  1. GitHub AE 会将帐户用户名中的所有非字母数字字符规范化为短划线。 例如,用户名 mona.the.octocat 将规范化为 mona-the-octocat。 请注意,标准化的用户名也不能以短划线开头或结尾。 它们还不能包含两个连续的短划线。

  2. 创建自电子邮件地址的用户名使用 @ 字符前面的规范化字符创建。

  3. 从域帐户创建的用户名是从 \\ 分隔符后面的规范化字符创建的。

  4. 如果将多个帐户规范化为相同的 GitHub AE 用户名,则将仅创建第一个用户帐户。 使用相同用户名的后续用户无法登录。

用户名规范化示例

提供程序上的标识符GitHub 上的规范化用户名结果
The.Octocatthe-octocat此用户名已成功创建。
!The.Octocat-the-octocat此用户名无法创建,因其以短划线开头。
The.Octocat!the-octocat-此用户名无法创建,因其以短划线结尾。
The!!Octocatthe--octocat此用户名无法创建,因其包含两个连续的短划线。
The!Octocatthe-octocat此用户名无法创建。 虽然标准化的用户名有效,但它已经存在。
The.Octocat@example.comthe-octocat此用户名无法创建。 虽然标准化的用户名有效,但它已经存在。
internal\\The.Octocatthe-octocat此用户名无法创建。 虽然标准化的用户名有效,但它已经存在。
mona.lisa.the.octocat.from.github.united.states@example.commona-lisa-the-octocat-from-github-united-states不会创建此用户名,因为它超出了 39 个字符的限制。

关于使用 SAML 的用户名规范化

GitHub AE 通过 SAML 响应中的以下断言之一确定每个人的用户名,这些断言按优先级降序排列。

  1. 自定义 username 特性(如果定义且存在)
  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 AE 需要 NameID 元素,即使存在其他特性也是如此。 有关详细信息,请参阅“SAML 配置参考”。

GitHub AE 在来自 IdP 的 NameID 和 你的企业 中 的用户名间创建一个映射,因此 NameID 应是持久、唯一的,并且在用户生命周期内不会发生变化。