Sobre problemas com a autenticação SAML
Mensagens de erro dos logs do GitHub Enterprise Server para autenticação do SAML com falha no log de autenticação em /var/log/github/auth.log. Você pode examinar as respostas neste arquivo de log e também pode configurar o log mais detalhado.
Para saber mais sobre esses requisitos de resposta SAML, confira "Referência de configuração do SAML".
Configurando a depuração do SAML
Você pode configurar o GitHub Enterprise Server para gravar logs de depuração detalhados em /var/log/github/auth.log para cada tentativa de autenticação do SAML. É possível que você possa solucionar problemas com tentativas de autenticação com esta saída extra.
Avisos:
- Habilite apenas a depuração do SAML temporariamente e desabilite a depuração imediatamente após terminar a solução de problemas. Se você deixar a depuração habilitada, o tamanho do seu registro poderá aumentar muito mais rápido do que o normal, o que pode impactar negativamente o desempenho de GitHub Enterprise Server.
- Teste as novas configurações de autenticação de sua instância do GitHub Enterprise Server em um ambiente de preparo antes de aplicá-las ao ambiente de produção. Para obter mais informações, confira "Configurar uma instância de preparo".
-
No canto superior à direita de GitHub Enterprise Server, clique na foto do perfil e clique em Configurações da empresa.
-
Na barra lateral da empresa, clique em Políticas. 1. Em Políticas, clique em Opções.
-
Em "Depuração do SAML", selecione o menu suspenso e clique em Habilitado.
-
Tentar entrar em sua instância do GitHub Enterprise Server por meio do IdP do SAML.
-
Examine a saída da depuração em /var/log/github/auth.log em sua instância do GitHub Enterprise Server.
-
Quando terminar de resolver os problemas, selecione o menu suspenso e clique em Desabilitado.
Decodificação de respostas em auth.log
Algumas saídas em auth.log podem ser codificadas em Base64. Você pode acessar o shell administrativo e usar o utilitário base64
em sua instância do GitHub Enterprise Server para decodificar essas respostas. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".
$ base64 --decode ENCODED_OUTPUT
Erro: "Outro usuário já possui a conta"
Quando um usuário entra em sua instância do GitHub Enterprise Server pela primeira vez com a autenticação SAML, o GitHub Enterprise Server cria uma conta de usuário na instância e mapeia a NameID
e nameid-format
do SAML para a conta.
Quando o usuário se conecta novamente, o GitHub Enterprise Server compara o mapeamento de NameID
e nameid-format
da conta com a resposta do IdP. Se a NameID
ou nameid-format
na resposta do IdP não corresponder mais à esperada pelos valores do GitHub Enterprise Server para o usuário, ocorrerá uma falha na entrada. O usuário receberá a seguinte mensagem.
Outro usuário já possui a conta. Solicite ao administrador que verifique o registro de autenticação.
De modo geral, a mensagem indica que o nome de usuário ou endereço de email da pessoa foi alterado no IdP. Verifique se o mapeamento de NameID
e nameid-format
da conta do usuário no GitHub Enterprise Server corresponde a NameID
e nameid-format
do usuário no IdP. Para obter mais informações, confira "Como atualizar a NameID do SAML de um usuário".
Se a resposta SAML não estiver assinada ou se a assinatura não corresponder ao conteúdo, o log de autenticação mostrará a seguinte mensagem de erro:
Se o Recipient
não corresponder à URL do ACS em sua instância do GitHub Enterprise Server, uma das duas mensagens de erro a seguir será exibida no log de autenticação quando um usuário tentar se autenticar.
Recipient in the SAML response must not be blank.
Recipient in the SAML response was not valid.
Defina o valor de Recipient
no IdP como a URL completa do ACS de sua instância do GitHub Enterprise Server. Por exemplo, https://ghe.corp.example.com/saml/consume
.
Erro: "Resposta do SAML não foi assinada ou foi modificada"
Se seu IdP não assinar a resposta do SAML ou a assinatura não corresponder ao conteúdo, será exibida a seguinte mensagem de erro no registro de autenticação.
SAML Response is not signed or has been modified.
Verifique se você configurou as declarações assinadas para o aplicativo do GitHub Enterprise Server no seu IdP.
Erro: "Audiência é inválida" ou "Nenhuma declaração encontrada"
Se a resposta do IdP tiver um valor ausente ou incorreto para Audience
, a mensagem de erro a seguir será exibida no log de autenticação.
Audience is invalid. Audience attribute does not match https://<em>YOUR-INSTANCE-URL</em>
Defina o valor de Audience
no IdP como a EntityId
de sua instância do GitHub Enterprise Server, que é a URL completa da instância. Por exemplo, https://ghe.corp.example.com
.
Erro: "A hora atual é anterior à condição NotBefore"
Esse erro pode ocorrer quando há uma diferença de tempo muito grande entre o IdP e o GitHub Enterprise Server, o que geralmente ocorre com IdPs auto-hospedados.
Para evitar esse problema, recomendamos apontar o dispositivo para a mesma origem do protocolo NTP que o IdP, se possível. Se você encontrar esse erro, verifique se a hora no dispositivo está sincronizada corretamente com o servidor NTP.
Se você usa o ADFS como o IdP, defina também NotBeforeSkew
no ADFS como 1 minuto para o GitHub. Se NotBeforeSkew
for definido como 0, mesmo diferenças de tempo muito pequenas, incluindo milissegundos, poderão causar problemas de autenticação.