Skip to main content

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

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

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

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

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

Если в качестве поставщика удостоверений вы используете ADFS, также установите значение 1 минута в ADFS в параметре NotBeforeSkew для 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.