Un webhook en el desarrollo web es un método para aumentar o alterar el comportamiento de una página web o aplicación web con devoluciones de llamada personalizadas . Estas devoluciones de llamada pueden ser mantenidas, modificadas y administradas por usuarios y desarrolladores de terceros que no necesariamente están afiliados al sitio web o la aplicación de origen. El término "webhook" fue acuñado por Jeff Lindsay en 2007 a partir del término de programación de computadoras hook . [1]
El formato suele ser JSON . La solicitud se realiza como una solicitud HTTP POST .
Función
Los webhooks son "devoluciones de llamada HTTP definidas por el usuario". [2] Por lo general, se desencadenan por algún evento, como enviar un código a un repositorio [3] o un comentario que se publica en un blog. [4] Cuando ocurre ese evento, el sitio de origen realiza una solicitud HTTP a la URL configurada para el webhook. Los usuarios pueden configurarlos para que los eventos en un sitio invoquen el comportamiento en otro.
Los usos comunes son activar compilaciones con sistemas de integración continua [5] o notificar sistemas de seguimiento de errores . [6] Debido a que los webhooks utilizan HTTP, pueden integrarse en servicios web sin agregar nueva infraestructura. [7]
Autenticar la notificación de webhook
Cuando el cliente (el sitio web o la aplicación de origen) realiza una llamada de webhook al servidor del usuario de terceros, la solicitud POST entrante debe autenticarse para evitar un ataque de suplantación de identidad . Se utilizan diferentes técnicas para autenticar al cliente:
- El punto final receptor puede optar por mantener una lista de direcciones IP para fuentes conocidas de las que se aceptarán solicitudes.
- La autenticación básica HTTP se puede utilizar para autenticar al cliente. [8]
- El webhook puede incluir información sobre qué tipo de evento es y un secreto o firma para verificar el webhook.
- La autenticación TLS mutua se puede utilizar cuando se establece la conexión. El punto final (el servidor) puede verificar el certificado del cliente. [11]
Ver también
Referencias
- ^ Web hook para revolucionar la web , 3 de mayo de 2007, archivado desde el original el 30 de junio de 2018
- ^ "Webhooks" . Atlassian . Consultado el 24 de septiembre de 2019 .]
- ^ Acerca de Webhooks - Ayuda de Github
- ^ Webhooks de WordPress
- ^ Jenkins GitHub Commit Hooks HOWTO , archivado desde el original el 25 de septiembre de 2015
- ^ Alojamiento de proyectos de Google: enlaces web posteriores a la confirmación
- ^ ¿Qué son los WebHooks y cómo habilitan una Web en tiempo real?
- ^ "DocuSign Connect Now incluye soporte de autenticación básica" . DocuSign . DocuSign, Inc . Consultado el 15 de enero de 2020 .
el servicio de notificación Connect se ha actualizado para admitir el esquema de autenticación básica con los servidores Connect de los clientes (oyentes).
- ^ "Comprobación de firmas de webhook" . Raya . Raya, Inc . Consultado el 12 de mayo de 2019 .
- ^ "Introducción - Graph API - Documentación - Facebook para desarrolladores" . Facebook . Facebook, Inc . Consultado el 12 de mayo de 2019 .
- ^ "TLS mutuo: cosas que debe saber" . DocuSign . DocuSign, Inc . Consultado el 15 de enero de 2020 .
Mutual TLS plus Client Access Control permite que su aplicación de escucha se asegure de que DocuSign envió el mensaje de notificación de Connect y que no se modificó en el camino.
enlaces externos
- Trabajar con webhooks