Skip to main content

Устранение неполадок с проверкой подлинности SAML

Если вы используете SAML single sign-on (SSO), и люди не могут пройти аутентификацию для доступа GitHub, вы можете устранить проблему.

Ошибка: "Текущее время раньше, чем указано в условии NotBefore"

Эта ошибка может возникать, если слишком большая разница во времени между поставщиком удостоверений и GitHub, как правило, происходит с локальными поставщиками удостоверений.

Если возникла эта ошибка, убедитесь, что время на устройстве idP правильно синхронизировано с сервером NTP.

Если вы используете ADFS в качестве поставщика удостоверений, также установите NotBeforeSkew в ADFS значение 1 минуты GitHub. Если NotBeforeSkew имеет значение 0, то проблемы с проверкой подлинности будут возникать даже при очень небольших различиях во времени, даже в несколько миллисекунд.

Пользователи многократно направляются на проверку подлинности

Если пользователи попадают в цикл непрерывных перенаправлений на проверку подлинности SAML, вам следует увеличить длительность сеанса SAML в параметрах поставщика удостоверений.

Значение SessionNotOnOrAfter, которое отправляется в ответе SAML, определяет длительность периода, после которого пользователь будет снова перенаправлен к поставщику удостоверений для проверки подлинности. Если длительность сеанса SAML настроена в течение 2 часов или меньше, GitHub обновит сеанс SAML 5 минут до истечения срока его действия. Это означает, что при длительности сеанса в 5 минут и менее пользователи застревают в цикле постоянной проверки подлинности SAML.

Чтобы устранить эту проблему, мы рекомендуем не использовать продолжительность сеанса SAML менее 4 часов. Дополнительные сведения см. в разделе Справочник по конфигурации SAML.

Ошибка: несоответствие дайджеста

Ошибка «Дайджест несовпадения» указывает на то, что ваш SAML IDP использует другой сертификат подписания SAML, отличный от того, в который вы загружены GitHub использует ваш IDP.

Заново скачайте этот SAML-сертификат с вашего IDP и проверьте его с помощью инструмента, например, Format a x509 cert tool от OneLogin. Затем обновите сертификат, сохранённый в GitHub настройках SAML.