Skip to main content

SAML認証のトラブルシューティング

SAML シングル サインオン (SSO) を使用していて、ユーザーが GitHubにアクセスするために認証できない場合は、問題のトラブルシューティングを行うことができます。

エラー: "Current time is earlier than NotBefore condition" (現在の時刻は NotBefore 条件より前です)

このエラーは、IdP と GitHubの間に時間差が大きすぎる場合に発生する可能性があります。これは、一般的にセルフホステッド IdP で発生します。

このエラーが発生した場合は、 IdP の時刻が NTP サーバーと正しく同期されていることを確認します。

IdP として ADFS を使用する場合は、ADFS の NotBeforeSkew も GitHub 1 分に設定します。 NotBeforeSkew を 0 に設定すると、ミリ秒などの非常に短い時間差でも認証の問題が発生する可能性があります。

ユーザーが繰り返し認証するようにリダイレクトされる

ユーザーが繰り返し SAML 認証プロンプトにリダイレクトされるループに陥る場合は、必要に応じて IdP 設定で SAML セッション期間を長くします。

SAML 応答で送信される SessionNotOnOrAfter 値によって、ユーザーが認証のために IdP にリダイレクトされるタイミングが決まります。 SAML セッション期間が 2 時間以内に構成されている場合、 GitHub は有効期限が切れる 5 分前に SAML セッションを更新します。 セッション期間を 5 分以下に構成した場合、ユーザーは SAML 認証ループから抜け出せなくなる可能性があります。

この問題を解決するには、最短 SAML セッション期間を 4 時間に構成することをお勧めします。 詳しくは、「SAML 構成リファレンス」をご覧ください。

エラー: Digest mismatch

"ダイジェストの不一致" エラーは、SAML IdP が、GitHub。

IdP からこの SAML 証明書を再ダウンロードし、OneLogin の x509 証明書の書式設定 ツールなどのツールを使用して検証します。 次に、 GitHub SAML 設定に保存されている証明書を更新します。