Protezione dei webhook

Per garantire che un webhook venga ricevuto da ISC, la chiamata viene autenticata insieme agli altri parametri dell'URL. ISC esegue la crittografia dell'autenticazione utilizzando un algoritmo di tipo HMAC (Hash Message Authentication Code).
Tabella 1. Parametri di sicurezza
Parametro Descrizione
timestamp Numero di secondi trascorsi dal 1° gennaio 1970 UTC.
token Stringa casuale di 64 caratteri alfanumerici.
signature Stringa di cifre esadecimali generata dall'algoritmo HMAC.
Tabella 2. Parametri comuni
Parametro Descrizione
domain Ambiente ISC che ha inviato il webhook. La produzione è https://www.reservecloud.com/login. Il controllo della qualità (QA) è https://qa.reservecloud.com/login
action Codice dell'azione che ha attivato la chiamata al webhook. Ad esempio, GUEST_ROOM_BLOCK_UPDATED
name Nome del webhook ricavato dalle impostazioni.

Per verificare che la chiamata al webhook sia stata ricevuta da ISC, è necessario:

  • Concatenare i valori di timestamp e token.
  • Codificare la stringa concatenata con l'algoritmo HMAC. La chiave è disponibile nella sezione Webhooks Interface delle impostazioni di ISC. L'algoritmo deve utilizzare la funzione di hashing SHA256.
  • Applicare la codifica esadecimale al risultato usando la lettera minuscola per i caratteri alfabetici.
  • Confrontare il risultato con il parametro di firma. Facoltativamente, è possibile verificare che il timestamp non sia troppo distante dall'ora corrente.