Skip to main content

Solucionando problemas de autenticação SAML

Se você usar o SSO (logon único) do SAML e as pessoas não conseguirem se autenticar para acessar GitHub, você poderá solucionar o problema.

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, o que geralmente ocorre com IdPs auto-hospedados.

Se você encontrar esse erro, verifique se a hora no IdP 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.

Os usuários são redirecionados repetidamente à autenticação

Se os usuários forem redirecionados repetidamente ao prompt de autenticação do SAML em loop, poderá ser necessário aumentar a duração da sessão do SAML nas configurações do IdP.

O valor de SessionNotOnOrAfter enviado em uma resposta do SAML determina quando um usuário será redirecionado ao IdP para se autenticar. Quando a duração da sessão SAML é configurada como duas horas ou menos, o GitHub atualiza a sessão do SAML cinco minutos antes da expiração. Se a duração da sessão estiver configurada como cinco minutos ou menos, os usuários poderão ficar presos em um loop de autenticação do SAML.

Para corrigir esse problema, recomendamos configurar a duração mínima da sessão do SAML como quatro horas. Para saber mais, confira Referência de configuração do SAML.

Erro: incompatibilidade de código hash

Um erro de "Digest mismatch" indica que seu IdP SAML está usando um certificado de assinatura do SAML diferente daquele que você carregou em GitHub.

Baixe novamente esse certificado SAML do seu IdP e valide-o usando uma ferramenta como a ferramenta Formatar um certificado x509 do OneLogin. Em seguida, atualize o certificado salvo nas configurações do GitHub SAML.