Sobre nomes de usuário com autenticação externa
O GitHub AE usa o SSO do SAML para autenticação e cria automaticamente um nome de usuário para cada pessoa quando a ela entra por meio de seu IdP (provedor de identidade) pela primeira vez.
Nomes de usuário não devem exceder 39 caracteres.
Sobre a normalização de nome de usuário
Nomes de usuário de contas de usuário no GitHub AE só podem conter caracteres alfanuméricos e traços (-
).
Quando você configura a autenticação por SAML, o GitHub AE usa um identificador da conta de usuário em seu IdP para determinar o nome de usuário da conta de usuário correspondente no GitHub AE. Se o identificador incluir caracteres sem suporte, o GitHub AE normalizará o nome de usuário de acordo com as regras a seguir.
-
O GitHub AE 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 AE 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 | Result |
---|---|---|
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
GitHub AE 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 AE exige o elemento NameID
mesmo se outros atributos estiverem presentes. Para obter mais informações, confira "Referência de configuração do SAML".
O GitHub AE cria um mapeamento entre o NameID
do IdP e o nome de usuário in sua empresa, portanto, a NameID
devem ser persistente, exclusiva e não sujeita a alterações no ciclo de vida do usuário.