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 создает сопоставление между NameID поставщиком удостоверений и именем пользователя в ваше предприятие, поэтому NameID должен быть постоянным, уникальным и не подлежит изменению в течение жизненного цикла пользователя.