Sobre nomes de usuário com autenticação externa
Você pode configurar a autenticação externa para GitHub Enterprise Server com CAS, LDAP ou SAML. Para saber mais, confira Conceitos básicos de gerenciamento de identidade e acesso.
Quando você usa a autenticação externa, sua instância do GitHub Enterprise Server cria automaticamente um nome de usuário para cada pessoa quando a pessoa entra sua instância do GitHub Enterprise Server por meio do sistema de autenticação externo pela primeira vez.
Os nomes de não podem exceder 39 caracteres.
Observação
Se você usa o SAML com o provisionamento por SCIM, os usuários precisam ser provisionados por SCIM antes de usar o logon único SAML. Se um usuário não tiver sido provisionado, ele não poderá concluir a autenticação em sua GitHub Enterprise Server instância. Para saber mais, confira Sobre o provisionamento de usuário com o SCIM no GitHub Enterprise Server.
Sobre a normalização de nome de usuário
Os nomes de usuário das contas de usuário em GitHub só podem conter caracteres alfanuméricos e traços (-).
Quando você configura a autenticação CAS, LDAP ou SAML (sem SCIM), GitHub Enterprise Server usa um identificador da conta de usuário em seu provedor de autenticação externa para determinar o nome de usuário da conta de usuário correspondente em sua GitHub Enterprise Server instância. Quando a autenticação SAML é configurada com SCIM, GitHub usa o valor do atributo SCIM userName enviado do IdP para determinar o nome de usuário da conta de usuário correspondente. Se o identificador incluir caracteres sem suporte, GitHub normalizará o nome de usuário de acordo com as regras a seguir.
-
GitHub normalizará qualquer caractere não alfanumérico no nome de usuário da sua conta para um hífen. Por exemplo, um nome de usuário
mona.the.octocatserá normalizado comomona-the-octocat. Observe que nomes de usuários normalizados também não podem começar ou terminar com hífen. Eles também não podem conter dois traços consecutivos. -
A letra maiúsculas e minúsculas no valor fornecido pelo IdP é preservada no nome de usuário normalizado.
-
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, somente 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 em 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 contém dois traços consecutivos. |
| The!Octocat | The-Octocat | Este nome de usuário não foi 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 foi criado. Embora o nome de usuário normalizado seja válido, ele já existe. |
internal\ | The-Octocat | Este nome de usuário não foi 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 SAML para sua instância do GitHub Enterprise Server, GitHub determinará o nome de usuário de cada pessoa por uma das seguintes declarações na resposta SAML, ordenada pela 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
GitHub requer o NameID elemento mesmo se outros atributos estiverem presentes. Para saber mais, confira Referência de configuração do SAML.
GitHub cria um mapeamento entre o NameID do IdP e o nome de usuário em sua instância do GitHub Enterprise Server, portanto, o NameID deve ser persistente, exclusivo e não deve estar sujeito a alterações durante todo o ciclo de vida do usuário.
Observação
Se o NameID de um usuário mudar no IdP, a pessoa verá uma mensagem de erro ao entrar em 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 o NameID do SAML de um usuário.