Skip to main content


If you use SAML single sign-on (SSO) and people are unable to authenticate to access GitHub Enterprise Serverインスタンス, you can troubleshoot the problem.

About problems with SAML authentication

GitHub Enterprise Server logs error messages for failed SAML authentication in the authentication log at /var/log/github/auth.log. You can review responses in this log file, and you can also configure more verbose logging.

For more information about SAML response requirements, see "SAML configuration reference."

Configuring SAML debugging

You can configure GitHub Enterprise Server to write verbose debug logs to /var/log/github/auth.log for every SAML authentication attempt. You may be able to troubleshoot failed authentication attempts with this extra output.


  • Only enable SAML debugging temporarily, and disable debugging immediately after you finish troubleshooting. If you leave debugging enabled, the size of your log may increase much faster than usual, which can negatively impact the performance of GitHub Enterprise Server.
  • Test new authentication settings for GitHub Enterprise Serverインスタンス in a staging environment before you apply the settings in your production environment. 詳しい情報については "ステージングインスタンスのセットアップ"を参照してください。
  1. GitHub Enterprise Serverの右上で、プロフィール写真をクリックし、続いてEnterprise settings(Enterpriseの設定)をクリックしてください。 GitHub Enterprise Serverのプロフィール写真のドロップダウンメニュー内の"Enterprise settings"

  2. Enterpriseアカウントのサイドバーで、 Policies(ポリシー)をクリックしてください。 Enterpriseアカウントサイドバー内のポリシータブ

  3. Policies(ポリシー)の下で、Options(オプション)をクリックしてください。 Enterpriseアカウント設定サイドバー内のオプションタブ

  4. Under "SAML debugging", select the drop-down and click Enabled.

    Screenshot of drop-down to enable SAML debugging

  5. Attempt to sign into GitHub Enterprise Serverインスタンス through your SAML IdP.

  6. Review the debug output in /var/log/github/auth.log on GitHub Enterprise Serverインスタンス.

  7. When you're done troubleshooting, select the drop-down and click Disabled.

    Screenshot of drop-down to disable SAML debugging

Decoding responses in auth.log

Some output in auth.log may be Base64-encoded. You can access the administrative shell and use the base64 utility on GitHub Enterprise Serverインスタンス to decode these responses. 詳しい情報については「管理シェル(SSH)にアクセスする」を参照してください。

$ base64 --decode ENCODED OUTPUT


When a user signs into GitHub Enterprise Serverインスタンス for the first time with SAML authentication, GitHub Enterprise Server creates a user account on the instance and maps the SAML NameID to the account.

ユーザが再度サインインすると、GitHub Enterprise Server はアカウントの NameID マッピングを IdP のレスポンスと比較します。 IdP のレスポンスの NameID が、GitHub Enterprise Server がユーザに対して想定している NameID とマッチしなくなると、サインインは失敗します。 ユーザには次のメッセージが表示されます。

別のユーザが既にアカウントを所有しています。 管理者に認証ログを確認するようご依頼ください。

このメッセージは通常、その人のユーザ名またはメールアドレスが IdP で変更されたということを示します。 Ensure that the NameID mapping for the user account on GitHub Enterprise Server matches the user's NameID on your IdP. For more information, see "Updating a user's SAML NameID."


If the Recipient does not match the ACS URL for GitHub Enterprise Serverインスタンス, one of the following two error messages will appear in the authentication log when a user attempts to authenticate.

Recipient in the SAML response must not be blank.
Recipient in the SAML response was not valid.

Ensure that you set the value for Recipient on your IdP to the full ACS URL for GitHub Enterprise Serverインスタンス. たとえば、 などです。

エラー:「SAML レスポンスが署名されていないか、変更されています」

IdP が SAML レスポンスに署名しない場合、または署名が内容と一致しない場合、次のエラーメッセージが認証ログに表示されます。

SAML Response is not signed or has been modified.

IdP で GitHub Enterprise Server アプリケーションの署名済みアサーションを設定していることを確認してください。

エラー:「Audience が無効です」または「アサーションが見つかりません」

IdP のレスポンスに Audience の値がないか、または正しくない場合、次のエラーメッセージが認証ログに表示されます。

Audience is invalid. Audience attribute does not match https://<em>YOUR-INSTANCE-URL</em>

Ensure that you set the value for Audience on your IdP to the EntityId for GitHub Enterprise Serverインスタンス, which is the full URL to your instance. たとえば、 などです。

Error: "Current time is earlier than NotBefore condition"

This error can occur when there's too large of a time difference between your IdP and GitHub Enterprise Server, which commonly occurs with self-hosted IdPs.

To prevent this problem, we recommend pointing your appliance to the same Network Time Protocol (NTP) source as your IdP, if possible. If you encounter this error, make sure the time on your appliance is properly synced with your NTP server.

If you use ADFS as your IdP, also set NotBeforeSkew in ADFS to 1 minute for GitHub. If NotBeforeSkew is set to 0, even very small time differences, including milliseconds, can cause authentication problems.