Webhook

A Webhook in Web Entwicklung ist eine Methode zur Erweiterung oder Veränderung des Verhaltens von a Website oder Internetanwendung mit Brauch Rückrufe. Diese Rückrufe können von Nutzern und Entwicklern von Drittanbietern geführt, geändert und verwaltet werden, die möglicherweise nicht unbedingt der ursprünglichen Website oder Anwendung angeschlossen sind. Der Begriff "Webhook" wurde 2007 von Jeff Lindsay vom Computer -Programmierbegriff geprägt Haken.[1]

Das Format ist normalerweise JSON. Die Anfrage erfolgt als HTTP -Post Anfrage.

Funktion

Webhooks sind "benutzerdefinierte HTTP-Rückrufe".[2] Sie werden normalerweise durch ein Ereignis ausgelöst, z. B. Code in ein Repository drücken[3] Oder ein Kommentar, der in einem Blog gepostet wird.[4] Wenn dieses Ereignis auftritt, stellt die Quellwebsite eine HTTP -Anforderung an die für das Webhook konfigurierte URL. Benutzer können sie so konfigurieren, dass sie Ereignisse auf einer Website verursachen, um ein Verhalten auf einer anderen aufzurufen.

Gemeinsame Verwendungen sind, um Builds mit auszulösen kontinuierliche Integration Systeme[5] oder zu benachrichtigen Fehlerverfolgungssysteme.[6] Da Webhooks HTTP verwenden, können sie in Webdienste integriert werden, ohne eine neue Infrastruktur hinzuzufügen.[7]

Authentifizierung der Webhook -Benachrichtigung

Wenn der Client (die ursprüngliche Website oder Anwendung) einen Webhook-Anruf beim Server des Drittanbieters tätigt, sollte die eingehende Postanforderung authentifiziert werden, um eine zu vermeiden Spoofing -Angriff und sein Zeitstempel verifiziert, um a zu vermeiden Wiederholungsangriff.[8] Verschiedene Techniken zur Authentifizierung des Clients werden verwendet:

  • Ein HMAC Signatur kann als HTTP -Header aufgenommen werden. Github,[10] Streifen[11] und Facebook[12] Verwenden Sie diese Technik.

Der Absender kann eine konstante Liste von behalten IP -Adressen von welchen Anfragen werden gesendet. Dies ist keine ausreichende Sicherheitsmaßnahme für sich, aber es ist nützlich, wenn der empfangende Endpunkt hinter a steht Firewall oder Nat.

Siehe auch

Verweise

  1. ^ Web Hook, um das Web zu revolutionieren, 3. Mai 2007, archiviert von das Original Am 2018-06-30
  2. ^ "Webhooks". Atlassian. Abgerufen 2019-09-24.]
  3. ^ Über Webhooks - Github Hilfe
  4. ^ WordPress Webhooks
  5. ^ Jenkins Github besitzt Haken Howto, archiviert von das Original Am 2015-09-25
  6. ^ Google Project Hosting - Post -Commit -Web Hooks
  7. ^ Was sind Webhooks und wie aktivieren sie ein Echtzeit-Web?
  8. ^ "Warum überprüfen". Svix. Svix Inc. Abgerufen 12. September, 2021. Ein weiteres potenzielles Sicherheitsloch ist das, was als Wiederholungsangriffe bezeichnet wird.
  9. ^ "DocuSign Connect enthält jetzt grundlegende Authentifizierungsunterstützung". Docussign. Docusign, Inc. Abgerufen 15. Januar, 2020. Der Connect -Benachrichtigungsdienst wurde aktualisiert, um das grundlegende Authentifizierungsschema mit Kunden Connect -Servern (Hörern) zu unterstützen.
  10. ^ "Sichern Sie Ihre Webhooks". Github. Github, Inc. Abgerufen 12. September, 2021.
  11. ^ "Webhook -Signaturen überprüfen". Streifen. Stripe, Inc. Abgerufen 12. Mai 2019.
  12. ^ "Erste Schritte - Graph -API - Dokumentation - Facebook für Entwickler". Facebook. Facebook, Inc. Abgerufen 12. Mai 2019.
  13. ^ "Gegenseitige TLs: Zeug, das Sie wissen sollten". Docussign. Docusign, Inc. Abgerufen 15. Januar, 2020. Mit gegenseitigem TLS -Plus -Client -Zugriffskontrolle können Ihre Listener -App sicherstellen, dass die Benachrichtigungsnachricht von Connect von DocuSign gesendet wurde und nicht unterwegs geändert wurde.

Externe Links