Sobre nomes de usuário com autenticação externa
Você pode configurar a autenticação externa para GitHub Enterprise Server usando CAS, LDAP ou SAML. Para saber mais, confira Sobre o gerenciamento de identidades e acesso.
Quando você usa a autenticação externa, o sua instância do GitHub Enterprise Server cria automaticamente um nome de usuário para cada pessoa quando ela entra no sua instância do GitHub Enterprise Server por meio do sistema de autenticação externa pela primeira vez.
Nomes de usuário não devem exceder 39 caracteres.
Sobre a normalização de nome de usuário
Os nomes de usuário de contas de usuário em GitHub só podem conter caracteres alfanuméricos e traços (-
).
Quando você configura a autenticação por CAS, LDAP ou SAML, o GitHub Enterprise Server usa um identificador da conta de usuário em seu provedor de autenticação externo para determinar o nome de usuário da conta de usuário correspondente no GitHub Enterprise Server. Se o identificador incluir caracteres sem suporte, o GitHub Enterprise Server normalizará o nome de usuário de acordo com as regras a seguir.
-
O GitHub Enterprise Server normalizará qualquer caractere não alfanumérico do nome de usuário da sua conta em um traço. Por exemplo, um nome de usuário
mona.the.octocat
será normalizado comomona-the-octocat
. Observe que nomes de usuários normalizados também não podem iniciar ou terminar com um traço. Eles também não podem conter dois traços consecutivos. -
Nomes de usuário criados com base em endereços de email são criados com caracteres normalizados que precedem o caractere
@
. -
Os nomes de usuário criados a partir de contas de domínio são criados com base nos caracteres normalizados após o separador
\\
. -
Se várias contas forem normalizadas no mesmo nome de usuário do GitHub Enterprise Server apenas a primeira conta de usuário será criada. Usuários subsequentes com o mesmo nome de usuário não serão capazes de fazer o login.
Exemplos de normalização de nome de usuário
Identificador no provedor | Nome de usuário normalizado no GitHub.com | Resultado |
---|---|---|
The.Octocat | the-octocat | Nome de usuário criado com sucesso. |
!The.Octocat | -the-octocat | Este nome de usuário não é criado, porque começa com um traço. |
The.Octocat! | the-octocat- | Este nome de usuário não é criado, porque termina com um traço. |
The!!Octocat | the--octocat | Este nome de usuário não é criado, porque contém dois traços consecutivos. |
The!Octocat | the-octocat | Este nome de usuário não é criado. Embora o nome de usuário normalizado seja válido, ele já existe. |
The.Octocat@example.com | the-octocat | Este nome de usuário não é criado. Embora o nome de usuário normalizado seja válido, ele já existe. |
internal\\The.Octocat | the-octocat | Este nome de usuário não é criado. Embora o nome de usuário normalizado seja válido, ele já existe. |
mona.lisa.the.octocat.from.github.united.states@example.com | mona-lisa-the-octocat-from-github-united-states | Esse nome de usuário não é criado, pois excede o limite de 39 caracteres. |
Sobre a normalização de nome de usuário com o SAML
Se você configurar a autenticação do SAML para sua instância do GitHub Enterprise Server, o GitHub Enterprise Server determinará o nome de usuário de cada pessoa por uma das seguintes declarações na resposta SAML, ordenada por prioridade decrescente.
- O atributo personalizado
username
, se definido e estiver presente - Uma declaração
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
, se presente - Uma declaração
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
, se presente - O elemento
NameID
O GitHub Enterprise Server exige o elemento NameID
mesmo se outros atributos estiverem presentes. Para saber mais, confira Referência de configuração do SAML.
O GitHub Enterprise Server cria um mapeamento entre o NameID
do IdP e o nome de usuário no sua instância do GitHub Enterprise Server. Portanto, a NameID
devem ser persistente, exclusiva e não sujeita a alterações no ciclo de vida do usuário.
Note
Se o NameID
de um usuário mudar no IdP, a pessoa verá uma mensagem de erro ao entrar no sua instância do GitHub Enterprise Server. Para restaurar o acesso da pessoa, atualize o mapeamento da NameID
da conta do usuário. Para saber mais, confira Como atualizar a NameID do SAML de um usuário.