Einrichtung der Basisauthentifizierung mit dem Modul HTTP-Basisauthentifizierung
Authentifizierung für CRUD-Operationen mit JSON:API
Beim Arbeiten mit der JSON:API können Tools wie Postman oder cURL verwendet werden, um Anfragen zu senden. Standardmäßig werden Anfragen, die über diese Tools gestellt werden, als von einem „anonymen“ Benutzer kommend behandelt, da diese Werkzeuge keine Benutzerauthentifizierung verwalten. Daher kann der Zugriff auf bestimmte Ressourcen je nach den für anonyme Benutzer konfigurierten Berechtigungen Ihrer Drupal-Seite eingeschränkt sein.
Möchten Sie jedoch Erstellungs-, Aktualisierungs- oder Löschoperationen (CRUD) über die JSON:API ausführen, reicht der anonyme Zugriff allein nicht aus. Für diese Operationen ist eine authentifizierte Anmeldung erforderlich. Drupal unterstützt mehrere Authentifizierungsmethoden, die über verschiedene Core- und Contrib-Module aktiviert werden können.
Eine der am häufigsten verwendeten Methoden ist die HTTP Basic Authentifizierung, die zum Drupal-Core gehört. Für fortgeschrittene Anwendungsfälle bieten Module wie Drupal REST & JSON API Authentication erweiterte Authentifizierungsfunktionen und Anpassungsmöglichkeiten, sodass Sie das Sicherheitsmodell auf die Bedürfnisse Ihrer Anwendung zuschneiden können.
Schritte für eine authentifizierte Anfrage
- Stellen Sie sicher, dass alle Operationen aktiviert sind
- Aktivieren Sie das HTTP Basic Authentication-Modul
- Erstellen Sie eine Rolle für API-Benutzer
- Vergeben Sie die notwendigen Berechtigungen für diese Rolle. /admin/people/permissions/api_user
- Geben Sie in diesem Beispiel insbesondere die Berechtigung
*Artikel*: Neue Inhalte erstellen
- Erstellen Sie einen Benutzer mit der API-Benutzer-Berechtigung. /admin/people/create
- Konfigurieren Sie die Authentifizierung in Postman. Verwenden Sie das neu erstellte Benutzerkonto
- Fügen Sie den Content-Type-Header hinzu
application/vnd.api+json
- Aktualisieren Sie den Body:
{ "data": { "type": "node--article", "attributes": { "title": "Diese Seite wurde über JSON:API erstellt", "body": { "value": "einige Beispieltexte", "format": "plain_text" } } } }
- Senden Sie die Anfrage und beobachten Sie die Antwort. Wenn der Statuscode 201 ist, haben Sie erfolgreich eine authentifizierte Anfrage an Ihre JSON:API gesendet und einen Knoten vom Typ Artikel erstellt.
JSON:API ist eine leistungsfähige und standardisierte Spezifikation, die den Aufbau von APIs in Drupal stark vereinfacht. Eingeführt als Core-Modul in Drupal 8 und höher, ermöglicht sie Entwicklern, Inhalte und Daten über eine konsistente und klar definierte API bereitzustellen – ganz ohne umfangreiche Eigenentwicklungen.
Durch einfaches Aktivieren des JSON:API-Moduls erhalten Sie sofort Zugriff auf eine strukturierte API, die der JSON:API-Spezifikation entspricht. So können Sie mühelos mit den Inhalten Ihrer Drupal-Seite arbeiten – mit intuitiven URL-Mustern und vorhersehbaren Antwortformaten. Ideal für Frontend-Anwendungen, Integrationen und entkoppelte Architekturen.
Um erweiterte Funktionen und Best Practices zu entdecken, konsultieren Sie die Drupal JSON:API Modul-Dokumentation. Die Dokumentation bietet umfassende Anleitungen zu Features wie Paginierung, Filterung, Sortierung, Datei-Uploads und mehr – und hilft Ihnen, das volle Potenzial von JSON:API in Ihrem Drupal-Projekt auszuschöpfen.