Webhook-Authenticatie

Het controleren van de legitimiteit van inkomende webhook-aanvragen is cruciaal voor de webhook-authenticatie. Dit proces zorgt ervoor dat aanvragen afkomstig zijn van vertrouwde bronnen en beschermt applicaties tegen ongeautoriseerde toegang en kwaadwillende activiteiten. Zonder de juiste authenticatie bestaat het risico op datalekken en misbruik.

Deze pagina biedt een inleiding tot webhooks en hun werking. Meer gedetailleerde informatie over webhooks vind je hier in ons developer portaal.


Een webhook vereist een zender (die zo is geconfigureerd dat deze gebeurtenissen herkent) en een ontvanger (een applicatie met een API). Wanneer een gebeurtenis plaatsvindt, stelt de zender de ontvanger op de hoogte. Webhooks zijn een eenvoudige manier om meldingen te ontvangen over applicatiegebeurtenissen.

Webhooks stellen je automatisch op de hoogte per gebeurtenis zodra nieuwe informatie of gegevens zijn gepubliceerd.

Laten we een alledaags voorbeeld bekijken:

  1. Jouw vlucht is vertraagd.
  2. De webhook wordt geactiveerd vanwege de vertraging.
  3. Je ontvangt een push-melding die je informeert over de vertraging.

In dit document presenteren we je inleidende voorbeelden van drie door Spryng Connect aangeboden webhook-authenticatiemethoden. Meer gedetailleerde voorbeelden en informatie vind je in het developer portaal (link wordt na activering toegevoegd).

Let op: Momenteel is per account slechts één webhook-authenticatiemethode toegestaan. Als je probeert meer dan één methode te gebruiken, ontvang je een foutmelding dat slechts één is toegestaan.

Wat is een Standaardauthenticatie?

De standaardauthenticatie is een eenvoudige HTTP-authenticatiemethode waarbij klanten hun gebruikersnaam en wachtwoord moeten invoeren om toegang te krijgen tot een API-eindpunt. Deze methode wordt vaak gebruikt om API’s te beveiligen en zorgt ervoor dat alleen geautoriseerde gebruikers toegang hebben tot bepaalde bronnen.

Verloop
  • Bij het configureren van de standaard authenticatie voor een webhook heb je de mogelijkheid om ofwel een combinatie van gebruikersnaam en wachtwoord of het standaard authenticatietoken rechtstreeks op te geven. Deze flexibiliteit vergemakkelijkt de integratie en het beheer van de beveiligingsreferenties.
  • Als een combinatie van gebruikersnaam en wachtwoord wordt opgegeven, genereren we een authenticatietoken met behulp van de Base64-codering (Gebruikersnaam:Wachtwoord). Deze procedure komt overeen met het standaardmechanisme van de standaardauthenticatie.
  • Als de gebruiker de opgegeven richtlijnen voor het aanmaken van tokens niet volgt, bieden we een alternatieve optie aan waarmee hij het token rechtstreeks kan instellen.
Wat is Auth0?

Bij Auth0 vereist het proces van token-authenticatie dat gebruikers hun identiteit bevestigen. Na succesvolle verificatie genereert Auth0 een uniek token, bijvoorbeeld een toegangstoken. Dit token stelt gebruikers in staat toegang te krijgen tot beschermde bronnen en maakt herhaalde invoer van inloggegevens overbodig.

Verloop
  • Ons platform heeft de bevoegdheid nodig om informatie naar de server van onze klant te sturen. Hiervoor hebben we een speciale sleutel nodig die onze autorisatie bewijst.
  • Het platform van de klant beschikt over een autorisatieserver die als toegangscontrole fungeert en tijdelijke toegangssleutels, zogenaamde toegangstokens, uitgeeft.
  • We geven ons platform een openbare ID zodat de server van onze klant ons kan identificeren. Vervolgens bevestigen we de authenticiteit door middel van een geheime code (clientSecurityValue) die alleen wij en de autorisatieserver van onze klant kennen.
  • We vertellen ons platform waar het een toegangstoken (tokenUrl) van de klant kan ophalen en welke geheime code het nodig heeft om de toegangscontrole (autorisatieserver) van de klant te passeren.
  • Als de toegangscontrole deze gegevens controleert en ze correct zijn, geeft deze ons platform een tijdelijk toegangstoken uit. Dit token stelt ons platform in staat om informatie met een tijdstempel naar de server van de klant te sturen. Het token verloopt na een bepaalde tijd.
  • Wanneer ons platform nu een webhook-aanroep naar de server van de klant verzendt, bevat deze het toegangstoken als bewijs van autorisatie. Als het token wordt geaccepteerd, wordt de informatie succesvol overgedragen.
  • Voor elke webhook-aanroep moet een nieuw toegangstoken worden gebruikt.
Wat is een aangepaste header?

De authenticatie via API-key via een aangepaste header is een methode die een door de server gegenereerde, unieke sleutel gebruikt. Deze sleutel wordt door clients in een aangepaste HTTP-header ingevoegd wanneer ze aanvragen naar een API verzenden. Deze aanpak garandeert veilige toegang door de identiteit van de aanvragende client te controleren.

Verloop
  • 1. API-key: Een API-key is een geheime tekenreeks die de afzender van de webhook identificeert.
    • Het aanmaken van de API-key nemen wij voor je over (leun je dus achterover en laat ons het werk doen).
    • Jouw API-key moet voor jou uniek zijn. Het wordt aanbevolen om voor elk webhook-abonnement een nieuwe API-key te genereren.
    • API-keys zijn gevoelige informatie en worden dienovereenkomstig behandeld.
  • 2. Aangepaste Header: De API-key wordt verzonden via een aangepaste HTTP-header die door de webhook-ontvanger wordt gedefinieerd.
    • De naam van de aangepaste header is over het algemeen een unieke identificatie, bijv. “x-api-key” of “api-key”.
    • Het gebruik van HTTPS voor de webhook-communicatie wordt aanbevolen om de API-key en andere gegevens tijdens de overdracht te beschermen.
  • 3. Webhook-Aanvraag: Wanneer de webhook wordt geactiveerd, voegt de webhook-aanbieder (Spryng) een aangepaste header met de API-key in de aanvraag in.
    • De webhook-ontvanger moet zo zijn geconfigureerd dat deze de aangepaste header en de bijbehorende API-key herkent.
  • 4. Authenticatie: De webhook-ontvanger controleert de aanwezigheid en de geldigheid van de aangepaste header met de API-key. Als de header aanwezig is en de API-key correct is, wordt de webhook-aanvraag als authentiek beschouwd.
    • De API-key is 32 tekens lang, hoofdlettergevoelig en is alfanumeriek.
  • 5. Validatie: De webhook-ontvanger (de gebruiker, d.w.z.). Je valideert de webhook-aanvraag met behulp van de API-key om te beslissen of deze moet worden geauthenticeerd.
Voorbeeld

Stel dat je een API-keys hebt genaamd “MY_SPRYNG_CONNECT_KEY” en je wilt deze gebruiken in een aangepaste header genaamd “x-my-titan-key”. De webhook-aanvraag moet deze header bevatten:

x-titan-app-key: SPRYNG_ CONNECT_API_KEY

De webhook-ontvanger moet controleren of deze header aanwezig is en of de waarde “MY_SPRYNG_CONNECT_KEY” overeenkomt met een geldige API-key.

Meer informatie over webhooks vind je in ons developer portaal.

Developer portaal

SMPP

Webhook-Authenticatie

Aanmaken van een API-key

Standaard-Authentificatiewachtwoord