Skip to main content

Fehlerbehebung bei der SAML-Authentifizierung

Wenn Sie SAML Single Sign-On (SSO) verwenden und sich Personen nicht authentifizieren können, um auf GitHub zuzugreifen, können Sie das Problem beheben.

Fehler: „Die aktuelle Zeit liegt vor der NotBefore-Bedingung“

Dieser Fehler kann auftreten, wenn der Zeitunterschied zwischen Ihrem IdP und GitHub zu groß ist, was häufig bei selbstgehosteten IdPs vorkommt.

Wenn dieser Fehler auftritt, stellen Sie sicher, dass die Uhrzeit auf Ihrem ordnungsgemäß mit Ihrem NTP-Server synchronisiert wird.

Wenn Sie ADFS als IdP verwenden, legen Sie NotBeforeSkew auch in ADFS für GitHub auf 1 Minute fest. Wenn NotBeforeSkew auf 0 festgelegt ist, können selbst sehr kleine Zeitunterschiede, einschließlich Millisekunden, Authentifizierungsprobleme verursachen.

Benutzer werden wiederholt zur Authentifizierung umgeleitet

Wenn Benutzer wiederholt in einer Schleife zur SAML-Authentifizierungsaufforderung umgeleitet werden, musst du möglicherweise die SAML-Sitzungsdauer in deinen IdP-Einstellungen erhöhen.

Der in einer SAML-Antwort gesendete SessionNotOnOrAfter-Wert bestimmt, wann ein Benutzer zur Authentifizierung zurück zum IdP umgeleitet wird. Wenn eine SAML-Sitzungsdauer für 2 Stunden oder weniger konfiguriert ist, GitHub wird eine SAML-Sitzung 5 Minuten vor Ablauf aktualisiert. Wenn deine Sitzungsdauer für höchstens 5 Minuten konfiguriert ist, können Benutzer in einer SAML-Authentifizierungsschleife hängen bleiben.

Um dieses Problem zu beheben, sollte eine minimale SAML-Sitzungsdauer von 4 Stunden konfiguriert werden. Weitere Informationen finden Sie unter Referenz zur SAML-Konfiguration.

Fehler: Digest-Abgleichsfehler

Ein Fehler aufgrund eines nicht übereinstimmenden Digest weist darauf hin, dass Ihr SAML-IdP ein anderes SAML-Signaturzertifikat verwendet als das, das Sie in GitHub.

Laden Sie dieses SAML-Zertifikat von Ihrem IdP erneut herunter, und überprüfen Sie es mit einem Tool wie dem Tool "Format a x509 cert tool" von OneLogin. Aktualisieren Sie dann das zertifikat, das in den GitHub SAML-Einstellungen gespeichert wurde.