logo

Extra Block Types (EBT) - New Layout Builder experienceâť—

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

âť—Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Authenticatie, Beveiliging & Prestaties

06/09/2025, by Ivan

De Drupal JSON:API-module biedt een krachtige manier om je content als een API beschikbaar te maken, maar het kiezen van de juiste authenticatiemethode is cruciaal voor de beveiliging en bruikbaarheid. Deze review verkent de verschillende authenticatie-opties die beschikbaar zijn bij het werken met de JSON-module van Drupal.

Kern Authenticatiemethoden

De Drupal REST & JSON API Authentication module beperkt en beveiligt ongeautoriseerde toegang tot de API’s van je Drupal-site met behulp van verschillende authenticatiemethoden, waaronder:

Deze module maakt het ook mogelijk om API-aanroepen te authenticeren in een Headless/Decoupled Drupal-opstelling.

  1. Basis Authenticatie
  2. API Key gebaseerde authenticatie
  3. Access Token/OAuth gebaseerde authenticatie
  4. JWT Token gebaseerde authenticatie
  5. Token authenticatie via externe provider

Cookie-gebaseerde Authenticatie

De standaard authenticatiemethode in Drupal gebruikt sessiecookies. Wanneer een gebruiker inlogt via het inlogformulier van Drupal, wordt er een sessiecookie aangemaakt die gebruikt kan worden om JSON-verzoeken te authenticeren.

Voordelen:

  • Eenvoudig te implementeren voor browsergebaseerde applicaties
  • Maakt gebruik van het bestaande authenticatiesysteem van Drupal
  • Werkt goed voor JavaScript-applicaties die op hetzelfde domein worden gehost

Beperkingen:

  • Niet geschikt voor cross-domain verzoeken zonder extra configuratie
  • Minder ideaal voor mobiele applicaties of integraties van derden
  • Overhead bij sessiebeheer

Basis Authenticatie

Basis Authenticatie houdt in dat referenties (gebruikersnaam en wachtwoord) bij elk verzoek worden meegestuurd in de Authorization-header.

Voordelen:

  • Eenvoudig te implementeren
  • Breed ondersteund in HTTP-clients

Beperkingen:

  • Referenties worden bij elk verzoek meegestuurd
  • Alleen veilig via HTTPS
  • Geen ingebouwde token-vervaldatum

Bijdrage Modules voor Authenticatie

Simple OAuth (OAuth 2.0)

Simple OAuth implementeert het OAuth 2.0-protocol voor API-authenticatie in Drupal.

Voordelen:

  • Veilige token-gebaseerde authenticatie
  • Ondersteuning voor refresh tokens
  • Fijnmazige machtigingsscopes
  • Ideaal voor integraties van derden
  • Breed geaccepteerde standaard

Beperkingen:

  • Complexere setup vergeleken met basis authenticatie
  • Vereist goed begrip van OAuth 2.0-flows

JWT (JSON Web Token)

De JWT-module maakt authenticatie mogelijk via JSON Web Tokens.

Voordelen:

  • Stateless authenticatie
  • Vermindert database-queries voor verificatie
  • Kan claims/metadata in het token opnemen
  • Goede prestaties op schaal

Beperkingen:

  • Vereist correct sleutelbeheer
  • Beveiligingsrisico’s bij verkeerde implementatie
  • Geen ingebouwd mechanisme voor intrekking van tokens (zonder extra maatregelen)

Key Auth

Key Auth biedt API key-authenticatie voor Drupal.

Voordelen:

  • Eenvoudige API key-aanpak
  • Goed voor machine-to-machine communicatie
  • Minimale setup vereist

Beperkingen:

  • Minder veilig dan OAuth voor gebruikersgerichte applicaties
  • Beperkte mogelijkheden voor intrekking
  • Geen mechanisme voor refresh tokens

Consumer Auth

Consumer Auth breidt de mogelijkheden van Consumer-entiteiten in het API-systeem van Drupal uit.

Voordelen:

  • Sluit aan bij het Consumer-systeem van Drupal
  • Flexibele, consumer-gebaseerde machtigingen
  • Vult andere authenticatiemethoden aan

Beperkingen:

  • Bedoeld om samen met andere authenticatiemethoden te gebruiken
  • Geen op zichzelf staande oplossing

Overwegingen bij het kiezen van een authenticatiemethode

Bij het kiezen van een authenticatiemethode voor je JSON-API, overweeg:

  1. Beveiligingseisen: Hoe gevoelig zijn je gegevens?
  2. Type client: Browsergebaseerd, mobiele app of server-to-server?
  3. Gebruikerservaring: Moeten gebruikers vaak opnieuw inloggen?
  4. Prestatiebehoeften: Hoe belangrijk is de snelheid van authenticatie?
  5. Integratievereisten: Zullen diensten van derden toegang hebben tot je API?

Best Practices

  • Gebruik altijd HTTPS voor elke authenticatiemethode
  • Implementeer de juiste CORS-headers voor browsergebaseerde applicaties
  • Overweeg zorgvuldig beleid voor token-verval
  • Gebruik refresh tokens waar dat passend is
  • Implementeer rate limiting om brute force-aanvallen te voorkomen
  • Log authenticatiepogingen voor beveiligingsmonitoring