O Laiye Chatbot fornece o X-Mindsay-Signature cabeçalho HTTP para que seu parceiro verifique a autenticidade da solicitação.
Para verificar a autenticidade, o Laiye Chatbot e seu parceiro compartilham uma chave secreta (configurada durante a integração).
Ao receber uma mensagem, o parceiro do Laiye Chatbot deve gerar uma assinatura do seu lado e verificar se ela corresponde à assinatura fornecida no X-Mindsay-Signature cabeçalho HTTP. Para evitar ataques de repetição, o parceiro do Laiye Chatbot também deve validar se o X-Mindsay-Request-Timestamp não está muito distante no passado.
Veja como gerar a assinatura:
Concatene o valor no cabeçalho
X-Mindsay-Request-Timestampcom o corpo da solicitaçãoCalcule o hash hexadecimal desta string usando o algoritmo padrão
HMAC-SHA256e a chave secreta compartilhada
Exemplo:
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