Laiye Chatbot proporciona el X-Mindsay-Signature encabezado HTTP para que su socio compruebe la autenticidad de la solicitud.
Para comprobar la autenticidad, Laiye Chatbot y su socio comparten una clave secreta (configurada durante la integración).
Al recibir un mensaje, el socio de Laiye Chatbot debe generar una firma por su cuenta y comprobar que coincide con la firma proporcionada en el X-Mindsay-Signature encabezado HTTP. Para evitar ataques de repetición, el socio de Laiye Chatbot también debe validar que el X-Mindsay-Request-Timestamp no sea demasiado antiguo.
Así es como se genera la firma:
Concatena el valor del encabezado
X-Mindsay-Request-Timestampcon el cuerpo de la solicitudCalcula el hash hexadecimal de esta cadena utilizando el algoritmo estándar
HMAC-SHA256y la clave secreta compartida
Ejemplo:
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