Сведения об использовании имен пользователей с внешней проверкой подлинности
Вы можете настроить внешнюю проверку подлинности для GitHub Enterprise Server с использованием CAS, LDAP или SAML. Дополнительные сведения см. в разделе Сведения об управлении удостоверениями и доступом.
При использовании внешней проверки подлинности ваш экземпляр GitHub Enterprise Server автоматически создает имя пользователя для каждого пользователя при первом входе в ваш экземпляр GitHub Enterprise Server через внешнюю систему проверки подлинности.
Длина имен пользователей не должна превышать 39 символов.
Сведения о нормализации имен пользователей
Имена пользователей для учетных записей пользователей в GitHub могут содержать только буквенно-цифровые символы и дефисы (-
).
Когда вы настраиваете проверку подлинности CAS, LDAP или SAML, GitHub Enterprise Server использует идентификатор из учетной записи пользователя вашего внешнего поставщика проверки подлинности, чтобы определить имя пользователя для соответствующей учетной записи пользователя в GitHub Enterprise Server. Если идентификатор содержит неподдерживаемые символы, GitHub Enterprise Server нормализует имя пользователя в соответствии со следующими правилами.
-
GitHub Enterprise Server преобразует любой небуквенно-цифровой символ в имени пользователя вашей учетной записи в тире. Например, имя пользователя
mona.the.octocat
будет нормализовано доmona-the-octocat
. Обратите внимание, что нормализованные имена пользователей также не могут начинаться или заканчиваться дефисом. Они также не могут содержать два последовательных тире. -
Имена пользователей, созданные на основе адресов электронной почты, создаются на основе нормализованных символов, предшествующих символу
@
. -
Имена пользователей, созданные из учетных записей домена, создаются из нормализованных символов после
\\
разделителя. -
Если несколько учетных записей нормализуются в одно и то же имя пользователя GitHub Enterprise Server, создается только первая учетная запись пользователя. Последующие пользователи с тем же именем пользователя не смогут войти в систему.
Примеры нормализации имен пользователей
Идентификатор поставщика | Нормализованное имя пользователя для GitHub.com | Результат |
---|---|---|
The.Octocat | the-octocat | Это имя пользователя успешно создано. |
The.Octocat! | -the-octocat | Это имя пользователя не создается, поскольку начинается с дефиса. |
The.Octocat! | the-octocat- | Это имя пользователя не создается, поскольку заканчивается дефисом. |
The!!Octocat | the--octocat | Это имя пользователя не создается, поскольку содержит два последовательных дефиса. |
The!Octocat | the-octocat | Это имя пользователя не создается. Хотя нормализованное имя пользователя является допустимым, оно уже существует. |
The.Octocat@example.com | the-octocat | Это имя пользователя не создается. Хотя нормализованное имя пользователя является допустимым, оно уже существует. |
internal\\The.Octocat | the-octocat | Это имя пользователя не создается. Хотя нормализованное имя пользователя является допустимым, оно уже существует. |
mona.lisa.the.octocat.from.github.united.states@example.com | mona-lisa-the-octocat-from-github-united-states | Это имя пользователя не создается, так как оно превышает ограничение в 39 символов. |
Сведения о нормализации имен пользователей с использованием SAML
Если настроить проверку подлинности SAML для ваш экземпляр GitHub Enterprise Server, GitHub Enterprise Server определяет имя пользователя каждого пользователя по одному из следующих утверждений в ответе SAML, упорядоченным по убыванию приоритета.
- Настраиваемый атрибут
username
, если он определен и присутствует - Утверждение
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
, если оно присутствует - Утверждение
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
, если оно присутствует - элемент
NameID
;
GitHub Enterprise Server требует элемент NameID
, даже если присутствуют другие атрибуты. Дополнительные сведения см. в разделе Справочник по конфигурации SAML.
GitHub Enterprise Server создает сопоставление между NameID
идентификатором поставщика удостоверений и именем пользователя на ваш экземпляр GitHub Enterprise Server, поэтому NameID
он должен быть постоянным, уникальным и не подлежит изменению для жизненного цикла пользователя.
Примечание. Если NameID
пользователь изменяет идентификатор поставщика удостоверений, пользователь увидит сообщение об ошибке при входе в ваш экземпляр GitHub Enterprise Server. Чтобы восстановить доступ пользователя, вам необходимо обновить сопоставление NameID
учетной записи пользователя. Дополнительные сведения см. в разделе Обновление SAML NameID пользователя.