logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll

Authentifizierung, Sicherheit und Leistung

22/05/2025, by Ivan

Das Drupal JSON:API-Modul bietet eine leistungsstarke Möglichkeit, Ihre Inhalte als API bereitzustellen, aber die Wahl der richtigen Authentifizierungsmethode ist entscheidend für Sicherheit und Benutzerfreundlichkeit. Diese Übersicht stellt die verschiedenen Authentifizierungsoptionen vor, die bei der Arbeit mit dem JSON-Modul von Drupal zur Verfügung stehen.

Kern-Authentifizierungsmethoden

Das Drupal REST & JSON API Authentication Modul schränkt den unautorisierten Zugriff auf Ihre Drupal-APIs ein und sichert diese, indem es verschiedene Authentifizierungsmethoden unterstützt, darunter:

Dieses Modul erlaubt auch die Authentifizierung von API-Aufrufen in einem Headless/Decoupled Drupal-Setup.

  1. Basis-Authentifizierung (Basic Authentication)
  2. API-Key-basierte Authentifizierung
  3. Access Token / OAuth-basierte Authentifizierung
  4. JWT Token-basierte Authentifizierung
  5. Authentifizierung über Tokens von Drittanbietern

Cookie-basierte Authentifizierung

Die Standard-Authentifizierungsmethode in Drupal nutzt Sitzungs-Cookies. Wenn sich ein Benutzer über das Drupal-Login-Formular anmeldet, wird ein Session-Cookie erzeugt, der für die Authentifizierung von JSON-Anfragen verwendet werden kann.

Vorteile:

  • Einfach zu implementieren für browserbasierte Anwendungen
  • Nutzt Drupals vorhandenes Authentifizierungssystem
  • Funktioniert gut für JavaScript-Anwendungen auf derselben Domain

Einschränkungen:

  • Nicht geeignet für Cross-Domain-Anfragen ohne zusätzliche Konfiguration
  • Weniger ideal für mobile Apps oder Integrationen von Drittanbietern
  • Zusätzlicher Aufwand für Sitzungsverwaltung

Basis-Authentifizierung (Basic Authentication)

Bei der Basis-Authentifizierung werden die Anmeldedaten (Benutzername und Passwort) bei jeder Anfrage im Authorization-Header mitgesendet.

Vorteile:

  • Einfach zu implementieren
  • Breit unterstützt in HTTP-Clients

Einschränkungen:

  • Zugangsdaten werden bei jeder Anfrage mitgesendet
  • Nur sicher über HTTPS
  • Kein eingebautes Token-Ablaufdatum

Contributed-Authentifizierungsmodule

Simple OAuth (OAuth 2.0)

Simple OAuth implementiert das OAuth 2.0-Protokoll für die API-Authentifizierung von Drupal.

Vorteile:

  • Sichere, tokenbasierte Authentifizierung
  • Unterstützung von Refresh-Tokens
  • Feingranulare Berechtigungs-Scopes
  • Ideal für Integrationen von Drittanbietern
  • Weit verbreiteter Standard

Einschränkungen:

  • Komplexere Einrichtung als Basic Auth
  • Erfordert ein gutes Verständnis der OAuth 2.0-Flows

JWT (JSON Web Token)

Das JWT-Modul ermöglicht die Authentifizierung über JSON Web Tokens.

Vorteile:

  • Zustandslose Authentifizierung (stateless)
  • Reduziert Datenbankabfragen für Verifikation
  • Kann Claims/Metadaten im Token speichern
  • Gute Performance bei großem Umfang

Einschränkungen:

  • Erfordert ein sicheres Schlüsselmanagement
  • Sicherheitsrisiken bei fehlerhafter Implementierung
  • Kein eingebauter Mechanismus zur Token-Zurücknahme (ohne zusätzliche Maßnahmen)

Key Auth

Key Auth bietet API-Key-Authentifizierung für Drupal.

Vorteile:

  • Einfache API-Key-Lösung
  • Gut für Machine-to-Machine-Kommunikation
  • Minimaler Einrichtungsaufwand

Einschränkungen:

  • Weniger sicher als OAuth für nutzerzentrierte Anwendungen
  • Eingeschränkte Möglichkeiten zur Schlüsselrücknahme
  • Kein Mechanismus für Refresh-Tokens

Consumer Auth

Consumer Auth erweitert die Möglichkeiten der Consumer-Entitäten im Drupal-API-System.

Vorteile:

  • Integriert sich in Drupals Consumer-System
  • Flexible, verbraucherbasierte Berechtigungen
  • Ergänzt andere Authentifizierungsmethoden

Einschränkungen:

  • Sollte zusammen mit anderen Auth-Methoden verwendet werden
  • Keine eigenständige Lösung

Wichtige Überlegungen bei der Wahl der Authentifizierungsmethode

Berücksichtigen Sie bei der Auswahl einer Authentifizierungsmethode für Ihre JSON-API:

  1. Sicherheitsanforderungen: Wie sensibel sind Ihre Daten?
  2. Client-Typ: Browserbasiert, mobile App oder Server-zu-Server?
  3. Benutzererlebnis: Müssen sich Benutzer häufig einloggen?
  4. Performance-Anforderungen: Wie wichtig ist die Geschwindigkeit der Authentifizierung?
  5. Integrationsanforderungen: Greifen Drittanbieter auf Ihre API zu?

Best Practices

  • Verwenden Sie immer HTTPS für jede Authentifizierungsmethode
  • Implementieren Sie korrekte CORS-Header für browserbasierte Anwendungen
  • Beachten Sie Richtlinien für Token-Ablaufzeiten sorgfältig
  • Verwenden Sie Refresh-Tokens, wo es angebracht ist
  • Setzen Sie Rate Limiting ein, um Brute-Force-Angriffe zu verhindern
  • Protokollieren Sie Authentifizierungsversuche zur Sicherheitsüberwachung