Webhook
Un webhook, aussi appelé lien de rappel HTTP ou point d’ancrage Web[1], est en programmation Web une méthode permettant d'accroître ou de modifier …
Un webhook, aussi appelé lien de rappel HTTP ou point d’ancrage Web[1], est en programmation Web une méthode permettant d'accroître ou de modifier le comportement d'une page Web ou d'une application Web avec des fonctions de rappels personnalisées. Ces fonctions peuvent être modifiées et gérées par des utilisateurs et développeurs tiers qui ne sont pas nécessairement affiliés au site Web ou à l'application d'origine. Le terme « webhook » a été inventé par Jeff Lindsay en 2007 à partir du terme de programmation informatique hook[2].
Le format est généralement le JSON. La requête est effectuée comme une requête HTTP POST.
Fonction
Les webhooks sont des « fonctions de rappels HTTP définies par l'utilisateur »[3]. Ils sont généralement déclenchés par un événement, comme l'envoi de code vers un dépôt[4] ou un commentaire publié sur un blog[5]. Lorsque cet événement se produit, le site source envoie une requête HTTP à l'URL configurée pour le webhook. Les utilisateurs peuvent les configurer afin que des événements sur un site invoquent un comportement sur un autre.
Les utilisations courantes sont de déclencher des builds avec des systèmes d'intégration continue ou de notifier les systèmes de suivi des bugs[6]. Étant donné que les webhooks utilisent HTTP, ils peuvent être intégrés aux services Web sans ajouter de nouvelle infrastructure[7].
Authentifier la notification d'un webhook
Lorsque le client (le site Web ou l'application d'origine) effectue un appel Webhook vers le serveur d'un utilisateur tiers, la requête POST entrante doit être authentifiée afin d'éviter une usurpation d'identité électronique. Différentes techniques pour authentifier le client sont utilisées :
- Le point d'arrivée peut choisir de conserver une liste d'adresses IP pour les sources connues des requêtes acceptables.
- L'authentification HTTP peut être utilisée pour authentifier le client[8].
- Le webhook peut inclure des informations sur le type d'événement et un secret ou une signature pour le vérifier.
- Une signature HMAC peut être incluse comme en-tête HTTP. GitHub, Stripe[9] et Facebook[10] utilisent cette méthode.
- L'authentification TLS mutuelle peut être utilisée lorsque la connexion est établie. Le point de terminaison (le serveur) peut ensuite vérifier le certificat du client[11].
Voir aussi
Références
- ↑ « lien de rappel HTTP », Grand Dictionnaire terminologique, Office québécois de la langue française (consulté le ).
- ↑ (en) Jeff Lindsay, « Web hooks to revolutionize the web »
, sur progrium.github.io, (consulté le )
- ↑ « Webhooks », Atlassian (consulté le )]
- ↑ About Webhooks - GiHhub Help
- ↑ WordPress Webhooks
- ↑ Google Project Hosting - Post-Commit Web Hooks
- ↑ What are WebHooks and How Do They Enable a Real-time Web?
- ↑ « DocuSign Connect Now Includes Basic Authentication Support », DocuSign, DocuSign, Inc. (consulté le ) : « the Connect notification service has been updated to support the Basic Authentication scheme with customers’ Connect servers (listeners). »
- ↑ « Checking Webhook Signatures », Stripe, Stripe, Inc (consulté le )
- ↑ « Getting Started - Graph API - Documentation - Facebook for Developers », Facebook, Facebook, Inc. (consulté le )
- ↑ « Mutual TLS: Stuff you should know », DocuSign, DocuSign, Inc. (consulté le ) : « Mutual TLS plus Client Access Control enables your listener app to ensure that the Connect notification message was sent by DocuSign and that it wasn’t modified en route. »
Liens externes
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.