Webhook-Authentifizierung

Die Überprüfung der Legitimität eingehender Webhook-Anfragen ist entscheidend für die Webhook-Authentifizierung. Dieser Prozess stellt sicher, dass Anfragen von vertrauenswürdigen Quellen stammen und schützt Anwendungen vor unbefugtem Zugriff und böswilligen Aktivitäten. Ohne ordnungsgemäße Authentifizierung besteht das Risiko von Datenschutzverletzungen und Missbrauch.

Diese Seite bietet eine Einführung in Webhooks und deren Funktionsweise. Ausführlichere Informationen zu Webhooks finden Sie in unserem Entwicklerportal hier.

Ein Webhook benötigt einen Sender (der so konfiguriert ist, dass er Ereignisse erkennt) und einen Empfänger (eine Anwendung mit einer API). Wenn ein Ereignis eintritt, benachrichtigt der Sender den Empfänger. Webhooks sind eine einfache Möglichkeit, Benachrichtigungen über Anwendungsereignisse zu erhalten.

Webhooks benachrichtigen Sie automatisch per Ereignis, sobald neue Informationen oder Daten veröffentlicht wurden.

Betrachten wir ein alltägliches Beispiel:

  1. Ihr Flug verspätet sich.
  2. Der Webhook wird aufgrund der Verspätung ausgelöst.
  3. Sie erhalten eine Push-Benachrichtigung, die Sie über die Verspätung informiert.

In diesem Dokument stellen wir Ihnen einführende Beispiele für drei von Esendex Connect angebotene Webhook-Authentifizierungsmethoden vor. Ausführlichere Beispiele und Informationen finden Sie im Entwicklerportal (Link wird nach Aktivierung hinzugefügt).


Bitte beachten Sie: Derzeit ist pro Konto nur eine Webhook-Authentifizierungsmethode zulässig. Wenn Sie versuchen, mehr als eine Methode zu verwenden, erhalten Sie eine Fehlermeldung, die besagt, dass nur eine zulässig ist.

Was ist eine Standardauthentifizierung?

Die Standardauthentifizierung ist eine einfache HTTP-Authentifizierungsmethode, bei der Kunden ihren Benutzernamen und ihr Passwort eingeben müssen, um auf einen API-Endpunkt zuzugreifen. Diese Methode wird häufig zur Sicherung von APIs verwendet und stellt sicher, dass nur autorisierte Benutzer auf bestimmte Ressourcen zugreifen können.

Ablauf

  • Bei der Konfiguration der Standardauthentifizierung für einen Webhook haben Sie die Möglichkeit, entweder eine Kombination aus Benutzername und Passwort oder das Standardauthentifizierungstoken direkt anzugeben. Diese Flexibilität erleichtert die Integration und Verwaltung der Sicherheitsanmeldeinformationen.
  • Wenn eine Kombination aus Benutzername und Passwort angegeben wird, generieren wir ein Authentifizierungstoken mithilfe der Base64-Kodierung (Benutzername:Passwort). Dieses Verfahren entspricht dem Standardmechanismus der Standardauthentifizierung.
  • Falls der Benutzer die angegebenen Richtlinien zur Token-Erstellung nicht befolgt, bieten wir eine alternative Option an, mit der er das Token direkt festlegen kann.

Was ist Auth0?

Bei Auth0 erfordert der Prozess der Token-Authentifizierung, dass Benutzer ihre Identität bestätigen. Nach erfolgreicher Verifizierung generiert Auth0 ein eindeutiges Token, beispielsweise ein Zugriffstoken. Dieses Token ermöglicht Benutzern den Zugriff auf geschützte Ressourcen und macht die wiederholte Eingabe von Anmeldedaten überflüssig.

Ablauf

  • Unsere Plattform benötigt die Berechtigung, Informationen an den Server unseres Kunden zu senden. Dazu benötigen wir einen speziellen Schlüssel, der unsere Autorisierung belegt.
  • Die Plattform des Kunden verfügt über einen Autorisierungsserver, der als Zugangskontrolle fungiert und temporäre Zugriffsschlüssel, sogenannte Zugriffstoken, ausstellt.
  • Wir geben unserer Plattform eine öffentliche ID, damit der Server unseres Kunden uns identifizieren kann. Anschließend bestätigen wir die Authentizität durch einen geheimen Code (clientSecurityValue), den nur wir und der Autorisierungsserver unseres Kunden kennen.
  • Wir teilen unserer Plattform mit, wo sie ein Zugriffstoken (tokenUrl) vom Kunden abrufen kann und welchen geheimen Code sie benötigt, um die Zugangskontrolle (Autorisierungsserver) des Kunden zu passieren.
  • Wenn die Zugangskontrolle diese Daten überprüft und sie korrekt sind, stellt sie unserer Plattform ein temporäres Zugriffstoken aus. Dieses Token ermöglicht es unserer Plattform, Informationen mit einem Zeitstempel an den Server des Kunden zu senden. Das Token verfällt nach einer bestimmten Zeit.
  • Wenn unsere Plattform nun einen Webhook-Aufruf an den Server des Kunden sendet, enthält dieser das Zugriffstoken als Nachweis der Autorisierung. Wird das Token akzeptiert, werden die Informationen erfolgreich übermittelt.
  • Für jeden Webhook-Aufruf muss ein neues Zugriffstoken verwendet werden.

Was ist ein benutzerdefinierter Header?

Die Authentifizierung per API-Schlüssel über einen benutzerdefinierten Header ist eine Methode, die einen vom Server generierten, eindeutigen Schlüssel verwendet. Dieser Schlüssel wird von Clients in einem benutzerdefinierten HTTP-Header eingefügt, wenn sie Anfragen an eine API senden. Dieser Ansatz gewährleistet einen sicheren Zugriff, indem die Identität des anfragenden Clients überprüft wird.

Ablauf

  • 1.API-Schlüssel: Ein API-Schlüssel ist eine geheime Zeichenfolge, die den Absender des Webhooks identifiziert.
    • Die Erstellung des API-Schlüssels übernehmen wir für Sie (lehnen Sie sich also zurück und überlassen Sie uns die Arbeit).
    • Ihr API-Schlüssel sollte für Sie eindeutig sein. Es empfiehlt sich, für jedes Webhook-Abonnement einen neuen API-Schlüssel zu generieren.
    • API-Schlüssel sind sensible Informationen und werden entsprechend behandelt.
  • 2. Benutzerdefinierter Header: Der API-Schlüssel wird über einen benutzerdefinierten HTTP-Header gesendet, der vom Webhook-Empfänger definiert wird.
    • Der Name des benutzerdefinierten Headers ist in der Regel eine eindeutige Kennung, z. B. „x-api-key“ oder „api-key“.
    • Die Verwendung von HTTPS für die Webhook-Kommunikation wird empfohlen, um den API-Schlüssel und andere Daten während der Übertragung zu schützen.
  • 3. Webhook-Anfrage: Wenn der Webhook ausgelöst wird, fügt der Webhook-Anbieter (Esendex Connect) einen benutzerdefinierten Header mit dem API-Schlüssel in die Anfrage ein.
    • Der Webhook-Empfänger muss so konfiguriert sein, dass er den benutzerdefinierten Header und den zugehörigen API-Schlüssel erkennt.
  • 4. Authentifizierung: Der Webhook-Empfänger prüft das Vorhandensein und die Gültigkeit des benutzerdefinierten Headers mit dem API-Schlüssel. Wenn der Header vorhanden und der API-Schlüssel korrekt ist, gilt die Webhook-Anfrage als authentisch.
    • -Der API-Schlüssel ist 32 Zeichen lang, Groß- und Kleinschreibung wird beachtet und er ist alphanumerisch.
  • 5. Validierung: Der Webhook-Empfänger (der Benutzer, d. h. Sie) validiert die Webhook-Anfrage mithilfe des API-Schlüssels, um zu entscheiden, ob sie authentifiziert werden soll.

Beispiel

Angenommen, Sie besitzen einen API-Schlüssel namens „MY_ESENDEX_CONNECT_KEY“ und möchten diesen in einem benutzerdefinierten Header namens „x-my-titan-key“ verwenden. Die Webhook-Anfrage sollte diesen Header enthalten:

x-titan-app-key: ESENDEX_CONNECT_API_KEY

Der Webhook-Empfänger muss überprüfen, ob dieser Header vorhanden ist und ob der Wert „MY_ESENDEX_CONNECT_KEY“ einem gültigen API-Schlüssel entspricht.

Weitere Informationen zu Webhooks finden Sie in unserem Entwicklerportal.

Webhook-Authentifizierung

Entwicklerportal

Erstellen eines API-Schlüssels

Standard-Authentifizierungspasswort