Lorsque vous utilisez des requêtes HTTP comme méthode de rappel, ajoutez des paramètres d'authentification aux en-têtes de requête HTTP. Le serveur destinataire du rappel pourra ainsi vérifier les signatures et rejeter les requêtes non autorisées ou invalides.
Notes d'utilisation
L'authentification par rappel est facultative mais recommandée. Son activation ou sa désactivation n'affecte pas les fonctionnalités existantes. Lorsqu'elle est activée, les requêtes de rappel contiennent des informations d'authentification que le serveur destinataire utilise pour filtrer les requêtes non autorisées et renforcer la sécurité.
Paramètres d'authentification
Lorsque vous utilisez des requêtes HTTP comme méthode de rappel, ajoutez les paramètres d'authentification suivants aux en-têtes de requête HTTP.
|
Paramètre |
Description |
|
X-ICE-TIMESTAMP |
Heure d'envoi de la requête HTTP, sous forme d'horodatage UNIX. |
|
X-ICE-SIGNATURE |
Chaîne de signature (valeur MD5 de 32 caractères). Pour savoir comment calculer cette valeur, consultez la section « Calcul de la signature » de cette rubrique. |
Calcul de la signature
La valeur X-ICE-SIGNATURE se calcule à partir des paramètres suivants.
|
Paramètre |
Description |
Exemple |
|
URL de rappel |
URL de rappel de la requête HTTP. |
https://www.example.com/your/callback |
|
X-ICE-TIMESTAMP |
Heure d'envoi de la requête HTTP, sous forme d'horodatage UNIX. |
1519375990 |
|
Clé d'authentification |
Clé de signature définie par l'utilisateur. Elle peut contenir jusqu'à 32 caractères et doit inclure des lettres majuscules, des lettres minuscules et des chiffres. |
Test123 |
Concaténez les trois paramètres avec des barres verticales (|), puis calculez le hachage MD5 de la chaîne résultante. Exemple de code :
MD5Content = Callback URL|X-ICE-TIMESTAMP|Authentication Key
X-ICE-SIGNATURE = md5sum(MD5Content)
Exemple de calcul de X-ICE-SIGNATURE :
X-ICE-SIGNATURE = md5sum(https://www.example.com/your/callback|1519375990|Test123) = c72b60894140fa98920f1279219b****
Règles d'authentification du serveur destinataire des messages de rappel
Le serveur destinataire concatène l'URL de rappel, X-ICE-TIMESTAMP et la clé d'authentification, calcule le hachage MD5 et le compare à la valeur X-ICE-SIGNATURE. Si les deux valeurs diffèrent, la requête est invalide.
Le serveur destinataire vérifie si la différence entre l'heure actuelle et la valeur X-ICE-TIMESTAMP dépasse un seuil (par exemple, 5 minutes). Si c'est le cas, la requête est invalide.
Rotation de la clé d'authentification
Pour changer la clé d'authentification sans interrompre le service de rappel, le serveur destinataire doit temporairement prendre en charge l'ancienne et la nouvelle clé. Nous vous recommandons de suivre les étapes ci-dessous :
Définissez une nouvelle clé d'authentification.
Mettez à jour le serveur destinataire des messages de rappel pour qu'il prenne en charge l'authentification basée sur l'ancienne et la nouvelle clé.
Configurez la nouvelle clé d'authentification pour l'authentification par rappel dans la console IMS.
Après un certain temps, supprimez la prise en charge de l'ancienne clé du serveur destinataire des messages de rappel.