Laiye Chatbot fournit l'en-tête HTTP X-Mindsay-Signature pour permettre à ses partenaires de vérifier l'authenticité des requêtes.
Pour cette vérification, Laiye Chatbot et son partenaire partagent une clé secrète (définie lors de l'intégration).
À la réception d'un message, le partenaire de Laiye Chatbot doit générer une signature de son côté et vérifier qu'elle correspond à celle fournie dans l'en-tête HTTP X-Mindsay-Signature. Pour se prémunir contre les attaques par rejeu, il doit aussi vérifier que la valeur de X-Mindsay-Request-Timestamp n'est pas trop ancienne.
Voici comment générer la signature :
Concaténez la valeur de l'en-tête
X-Mindsay-Request-Timestampavec le corps de la requêteCalculez l'empreinte hexadécimale de cette chaîne avec l'algorithme standard
HMAC-SHA256et la clé secrète partagée
Exemple :
X-Mindsay-Request-Timestamp:
1575215418
Body:
{"end_user_token": "df6a0edc-b31d-461x-ydcx-f7d5f02cd3d0"}
Secret:
a_secure_secret
Concatenated value:
1575215418{"end_user_token": "df6a0edc-b31d-461x-ydcx-f7d5f02cd3d0"}
Computed HMAC:
66f3778d4b2850a1a64fbb190a552ede968527cefc440c1d2f9d5c5fede77b93