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.