¿Cuál es la mejor práctica para garantizar su facebook conversacional web hook?

votos
1

Estoy jugando con el desarrollo de una conversacional en la plataforma Facebook Messenger. Fui a través del documento de Facebook y no pude encontrar la forma de proteger mi webhookde llamadas al azar.

Por ejemplo, si los usuarios pueden comprar telas con mis robots, un atacante que sabe ID de usuario de una persona puede empezar a colocar las órdenes no autorizadas por la realización de llamadas a mi web hook.

Tengo varias ideas sobre cómo proteger a este.

1) lista blanca de mi API para llamadas sólo desde facebook.
2) Crear algo así como CSRF fichas con las llamadas de devolución de datos.

¿Algunas ideas?

Publicado el 14/04/2016 a las 07:48
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
6

Ya Facebook ha supuesto implementado un mecanismo por el cual se puede comprobar si peticiones dirigidas a su URL de respuesta son genuinos (todo lo demás no sería más que la negligencia de su parte) - ver https://developers.facebook.com/docs/graph-api / WebHooks # receiveupdates :

La solicitud HTTP contendrá un X-Hub-Signatureencabezado que contiene la firma SHA1 de la solicitud de carga útil, usando el secreto aplicación como la llave, y con el prefijo sha1=. Su punto final de devolución de llamada puede verificar esta firma para validar la integridad y el origen de la carga útil

Tenga en cuenta que el cálculo se hace sobre la Unicode escapado versión de la carga útil, con dígitos hexadecimales en minúscula. Si usted acaba de calcular en contra de los bytes decodificados, que va a terminar con una firma diferente. Por ejemplo, la cadena äöådebe ser escapado a \u00e4\u00f6\u00e5.

Respondida el 14/04/2016 a las 08:35
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more