& quot; Получено утверждение, которое действительно в будущем. Проверьте синхронизацию часов на IdP и SP & quot;

я использую https://simplesamlphp.org/ в моем приложении. Большую часть времени это нормально, и нет никаких проблем. В другой раз я получаю это:

SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Backtrace:
0 ssoclient/www/module.php:180 (N/A)
Caused by: SimpleSAML_Error_Exception: Received an assertion that is valid in the future. Check clock synchronization on IdP and SP.
Backtrace:
3 ssoclient/modules/saml/lib/Message.php:565 (sspmod_saml_Message::processAssertion)
2 ssoclient/modules/saml/lib/Message.php:523 (sspmod_saml_Message::processResponse)
1 ssoclient/modules/saml/www/sp/saml2-acs.php:75 (require)
0 ssoclient/www/module.php:135 (N/A)

Почему это случилось, и как я могу решить это? Нужно ли менять системное время? (Я на Debian).

11

Решение

«Проблема» известна — смотрите Вот — и сводится к неправильной синхронизации часов между поставщиком услуг и поставщиком удостоверений.

Вероятно, они сейчас находятся в пределах 60 секунд, так что «время от времени» они выходят за границы синхронизации.

Вы можете исправить это:

  • (лучшая) синхронизация и то и другое системы к тому же, известная временная база через ntpd.
  • подчинение одной из двух систем часам другой.

Есть также более творческие возможности, например:

Эти два «решения» подвержены ошибкам и проблемам «пропуска времени» (т. Е. Часы не плавно переходят от WRONG_TIME к CORRECT_TIME, они прямо установлены на «правильное» значение). Это также может иметь другие неприятные эффекты в зависимости от других условий / программного обеспечения.

Наконец, вы можете изменить модули / saml / lib / Message.php и увеличить дельту времени, даже если это «устранение проблемы», предполагая, что есть какой-то процесс, который держит две системы не более 60 «не синхронизированы (есть являются некоторые творческие схемы установки времени, не основанные на ntpd, которые могли бы это сделать).

9

Другие решения

Для меня это выглядит как проблема времени, вероятно, это не правильно синхронизировать.

Существует инструмент (а также демон), который может следить за временем для вас, нтп, так что вы можете быть всегда синхронизированы. Установите его и настройте демон, думаю, это может решить вашу проблему.

2

По вопросам рекламы [email protected]