2015-05-05 8 views
8

Sto utilizzando https://simplesamlphp.org/ nella mia app. La maggior parte delle volte va bene e non ci sono problemi. Altre volte ottengo questo:"Ricevuta un'asserzione valida in futuro. Controlla la sincronizzazione dell'orologio su IdP e SP"

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) 

Perché ciò accadrebbe e come posso risolverlo? Devo cambiare il tempo del mio sistema? (Sono su Debian).

risposta

6

Il "problema" è noto - vedere here - e si riduce alla sincronizzazione errata dell'orologio tra provider di servizi e provider di identità.

Probabilmente ora sono intorno al limite di 60 secondi, in modo che "ogni ora" non rientrano nel limite di sincronizzazione.

È possibile correggere questo:

  • (migliore) la sincronizzazione entrambi i sistemi agli stessi, base dei tempi conosciuto tramite ntpd.
  • slaving uno dei due sistemi 'orologio all'altro.

ci sono anche limiti alla vostra creatività, per esempio:

Questi due Le "soluzioni" sono soggette a errori e problemi di "time skipping" (ad esempio, l'orologio non viene spostato delicatamente da WRONG_TIME a CORRECT_TIME, è impostato senza errori sul valore "corretto"). Questo può anche avere other nasty effects a seconda di altre condizioni/software.

Infine è possibile modificare i moduli/saml/lib/Message.php e aumentare il delta tempo, anche se questo è "tappezzare il problema", assumendo che c'è qualche processo che mantiene i due sistemi a più 60 "non sincronizzati (in questo caso sono alcuni schemi creativi di creazione del tempo, non basati su ntpd, che potrebbero farlo)

2

Per me sembra un problema di orario, probabilmente non è correttamente sincronizzato.

C'è uno strumento (e anche un demone) che può tenere d'occhio l'ora, ntp, in modo da poter essere sempre sincronizzati. Installalo e configura il demone, immagino che questo potrebbe risolvere il tuo problema.