Directus als Backend-as-a-Service: REST, GraphQL, Auth und RBAC in 30 Minuten

Backend-as-a-Service (BaaS) Plattformen versprechen einen einfachen Einstieg in die Entwicklung moderner Anwendungen. APIs, Benutzerverwaltung, Authentifizierung, Dateispeicherung und Berechtigungen werden nicht selbst entwickelt, sondern von einer Plattform bereitgestellt.

Bekannte Anbieter wie Firebase, Supabase und Hasura verfolgen genau diesen Ansatz.

Directus wird in diesem Zusammenhang häufig übersehen. Dabei bringt Directus nahezu alle Funktionen einer modernen BaaS-Plattform bereits mit: automatisch generierte REST- und GraphQL-APIs, Authentifizierung, Rollenmodelle, Dateiverwaltung, Realtime-Funktionen und zusätzlich eine vollständige Admin-Oberfläche.

Besonders interessant wird Directus für Unternehmen, die bereits eine SQL-Datenbank besitzen oder ihre Daten selbst hosten möchten.

In diesem Beitrag zeigen wir, wie sich Directus als Backend-as-a-Service einsetzen lässt und wann Directus eine interessante Alternative zu Supabase, Firebase oder Hasura sein kann.

Was macht eine Backend-as-a-Service-Plattform aus?

Eine Backend-as-a-Service-Lösung stellt zentrale Backend-Funktionen bereits fertig zur Verfügung.

Entwickler konzentrieren sich auf Frontend und Geschäftslogik, während die Plattform die Infrastruktur übernimmt.

API-Layer, Auth, File-Storage und Realtime

Zu den Kernfunktionen einer modernen BaaS gehören:

API-Layer

  • REST APIs
  • GraphQL APIs
  • SDKs

Authentication

  • Login
  • Registrierung
  • Passwort-Reset
  • Single Sign-On

Authorization

  • Rollen
  • Policies
  • Zugriffskontrolle

File Storage

  • Uploads
  • Medienverwaltung
  • Bildoptimierung

Realtime

  • WebSockets
  • Live-Updates
  • Event-basierte Kommunikation

Directus deckt sämtliche dieser Bereiche standardmäßig ab.

 

Open Source versus Managed Service

Viele BaaS-Plattformen setzen auf proprietäre Cloud-Infrastrukturen.

Vorteile:

  • Schneller Start
  • Weniger Betriebsaufwand

Nachteile:

  • Vendor Lock-in
  • Abhängigkeit vom Anbieter
  • Höhere laufende Kosten
  • Eingeschränkte Datenhoheit

Directus verfolgt einen Open-Source-Ansatz.

Unternehmen können frei wählen zwischen:

  • Self Hosting
  • Kubernetes
  • Private Cloud
  • Directus Cloud

Dadurch bleibt die Kontrolle über Infrastruktur und Daten erhalten.

 

Vergleich: Directus, Supabase, Firebase und Hasura

Kriterium Directus Supabase Firebase Hasura
Open Source Ja Ja Nein Ja
Datenbanktypen PostgreSQL, MySQL, MariaDB, SQLite, MSSQL PostgreSQL Proprietär PostgreSQL
REST API Ja Ja Teilweise Optional
GraphQL API Ja Ja Nein Ja
Admin-Oberfläche Vollständig Begrenzt Begrenzt Nein
Rollenmodell Sehr granular Gut Gut Gut
Self Hosting Ja Ja Nein Ja
File Storage Ja Ja Ja Extern
Realtime Ja Ja Ja Ja

Directus vs. Supabase

Bei der Suche nach einer Directus Supabase Alternative lohnt sich ein genauer Blick.

Supabase verfolgt einen klaren PostgreSQL-First-Ansatz.

Directus dagegen unterstützt mehrere SQL-Datenbanken und bringt zusätzlich ein vollständiges Data Studio mit.

Wer nicht ausschließlich PostgreSQL einsetzen möchte oder eine leistungsfähige Verwaltungsoberfläche benötigt, findet in Directus häufig die flexiblere Lösung.

 

API-Layer in Directus

Der API-Layer gehört zu den größten Stärken von Directus.

Sobald eine Collection angelegt wird, entstehen automatisch REST- und GraphQL-Endpunkte.

Auto-generierte REST APIs

Directus erstellt automatisch REST-Endpunkte für jede Collection.

Beispiel:

GET /items/orders

Weitere Standard-Endpunkte:

POST /items/orders
PATCH /items/orders/123
DELETE /items/orders/123

Dadurch lassen sich Anwendungen ohne eigene API-Entwicklung realisieren.

Auto-generierte GraphQL APIs

Parallel erzeugt Directus automatisch ein vollständiges GraphQL-Schema.

Beispiel:

query {
orders {
id
order_number
total
}
}

Änderungen am Datenmodell werden unmittelbar übernommen.

Filter-Syntax und Pagination

Die Directus REST GraphQL API unterstützt umfangreiche Filtermöglichkeiten.

Beispiel:

GET /items/orders?filter[status][_eq]=open

Zusätzlich stehen zur Verfügung:

  • Pagination
  • Sortierung
  • Relationen
  • Aggregationen
  • Volltextsuche

Dadurch entsteht eine leistungsfähige API-Schicht ohne zusätzlichen Entwicklungsaufwand.

 

Authentication

Eine Backend-as-a-Service-Plattform benötigt flexible Authentifizierungsmechanismen.

JWT-Tokens

Standardmäßig setzt Directus auf JSON Web Tokens.

Login per REST API:

curl -X POST https://your-directus-instance.com/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "secret"
}'

Die Antwort enthält ein Access Token für weitere API-Aufrufe.

Erster API-Call mit JavaScript

Nach erfolgreicher Anmeldung können Daten direkt abgefragt werden.

const response = await fetch(
"https://your-directus-instance.com/items/orders",
{
headers: {
Authorization: `Bearer ${token}`
}
}
);

const orders = await response.json();

Innerhalb weniger Minuten steht damit eine vollständige API bereit.

Refresh-Token-Flow

Directus unterstützt zusätzlich Refresh Tokens.

Vorteile:

  • Höhere Sicherheit
  • Kürzere Token-Laufzeiten
  • Zentrale Session-Kontrolle

SSO mit OAuth2 und OpenID Connect

Unterstützte Provider:

  • Microsoft Entra ID
  • Google
  • GitHub
  • Auth0
  • Keycloak

Dadurch lässt sich Directus problemlos in bestehende Unternehmenslandschaften integrieren.

Magic Links

Für Kundenportale oder externe Benutzer unterstützt Directus passwortlose Anmeldungen.

Ablauf:

  1. Benutzer gibt E-Mail-Adresse ein
  2. Magic Link wird versendet
  3. Anmeldung erfolgt per Klick

 

Authorization (RBAC)

Die eigentliche Stärke von Directus liegt in der Zugriffskontrolle. Viele BaaS-Lösungen bieten Rollenmodelle. Directus geht deutlich weiter.

Rollen und Policies

Seit Directus 11 werden Berechtigungen über Rollen und Policies gesteuert.

Rollen

Beispiele:

  • Administrator
  • Kunde
  • Lieferant
  • Support
  • Vertrieb

Policies

Policies definieren die konkreten Rechte.

Dadurch lassen sich komplexe Berechtigungskonzepte flexibel kombinieren.

 

Feld-Level-Permissions

Nicht jeder Benutzer darf jedes Feld sehen.

Beispiel:

Lieferant

Darf sehen:

  • Bestellnummer
  • Status
  • Liefertermin

Darf nicht sehen:

  • Einkaufspreise
  • Margen
  • Interne Notizen

Diese Einschränkungen gelten automatisch für:

  • REST APIs
  • GraphQL APIs
  • Data Studio
  • Dashboards

 

Filter-basierte Permissions

Besonders leistungsfähig sind dynamische Berechtigungen.

Beispiel:

Ein Lieferant darf ausschließlich seine eigenen Bestellungen sehen.

Permission Filter:

{
"supplier_id": {
"_eq": "$CURRENT_USER.supplier_id"
}
}

Dadurch wird jede Anfrage automatisch gefiltert.

Dieses Konzept eignet sich hervorragend für:

  • Kundenportale
  • Händlerportale
  • Lieferantenportale
  • Multi-Tenant-Anwendungen

 

File Storage

Fast jede moderne Anwendung benötigt Dateiverwaltung.

Directus integriert diese Funktion direkt in die Plattform.

Lokaler Speicher, S3, Azure und Google Cloud

Unterstützte Speicherlösungen:

  • Lokales Dateisystem
  • Amazon S3
  • Azure Blob Storage
  • Google Cloud Storage

Ein Wechsel zwischen Speichern erfolgt rein über Konfiguration.

Bild- und Dateitransformation

Directus kann Dateien automatisch verarbeiten.

Typische Funktionen:

  • Resize
  • Zuschneiden
  • Formatkonvertierung
  • WebP-Erzeugung
  • Thumbnail-Generierung

Dadurch eignet sich Directus auch als Medienplattform.

 

Realtime

Viele Anwendungen benötigen Live-Daten.

WebSocket-Subscriptions

Directus unterstützt Echtzeitkommunikation über WebSockets.

Mögliche Events:

  • Datensatz erstellt
  • Datensatz geändert
  • Datensatz gelöscht

Clients erhalten Aktualisierungen unmittelbar.

Typische Anwendungsfälle

Mobile Apps

Synchronisierung zwischen mehreren Geräten

Kundenportale

Aktuelle Bestell- und Lieferinformationen

Support-Systeme

Live-Aktualisierung von Tickets

Lagerverwaltung

Bestandsänderungen in Echtzeit

 

Wann Directus die richtige BaaS ist

Nicht jede Anwendung benötigt Directus.

In vielen Projekten bietet die Plattform jedoch entscheidende Vorteile.

Bestehende SQL-Datenbank

Directus kann direkt auf bestehenden Datenbanken aufsetzen.

Unterstützte Systeme:

  • PostgreSQL
  • MySQL
  • MariaDB
  • SQLite
  • Microsoft SQL Server

Vorhandene Anwendungen lassen sich dadurch schrittweise modernisieren.

Self-Hosting-Anforderung

Viele Unternehmen möchten sensible Daten nicht in proprietären Clouds speichern.

Directus unterstützt:

  • On-Premise
  • Kubernetes
  • Private Cloud
  • Hybrid Cloud

Wenn Auth, RBAC und Admin-UI gleichzeitig benötigt werden

Genau hier unterscheidet sich Directus von vielen anderen BaaS-Plattformen.

Directus kombiniert:

  • REST APIs
  • GraphQL APIs
  • Authentifizierung
  • RBAC
  • File Storage
  • Data Studio
  • Dashboards

in einer einzigen Plattform.

 

Typische Einsatzszenarien für Directus als BaaS

Kundenportal

  • Login
  • Dokumente
  • Bestellungen
  • Tickets

Mobile App Backend

  • Benutzerverwaltung
  • APIs
  • Dateiuploads
  • Realtime

Lieferantenportal

  • Rollenbasierter Zugriff
  • Eigene Datensätze
  • Dokumentenaustausch

Interne Tools

In Kombination mit Internen Tools mit Directus entsteht eine vollständige Low-Code-Plattform für Backoffice-Anwendungen.

Reporting und Dashboards

Zusammen mit Admin-Dashboards in Directus Insights lassen sich operative Kennzahlen direkt visualisieren.

 

Fazit

Directus vereint die wichtigsten Eigenschaften moderner Backend-as-a-Service-Plattformen in einer einzigen Open-Source-Lösung.

Dazu gehören:

  • REST APIs
  • GraphQL APIs
  • JWT Authentication
  • RBAC
  • File Storage
  • Realtime
  • Data Studio

Besonders interessant ist Directus für Unternehmen, die bereits SQL-Datenbanken einsetzen und gleichzeitig eine leistungsfähige Verwaltungsoberfläche benötigen.

Wer heute nach einer Directus Supabase Alternative sucht oder eine flexible Open-Source-BaaS evaluieren möchte, sollte Directus unbedingt in die engere Auswahl aufnehmen.

Im nächsten Beitrag vergleichen wir beide Ansätze im Detail:  Welche API sollte man nutzen – REST oder GraphQL?

FAQ

Ist Directus eine Supabase-Alternative?

Ja. Directus bietet ähnliche BaaS-Funktionen wie Supabase, unterstützt jedoch mehrere SQL-Datenbanken und enthält zusätzlich ein vollständiges Data Studio.

Welche Auth-Mechanismen unterstützt Directus?

Directus unterstützt JWT, Refresh Tokens, OAuth2, OpenID Connect, SSO und Magic Links.

Wie funktioniert RBAC in Directus?

Directus kombiniert Rollen, Policies, Feldrechte und Filterregeln. Dadurch lassen sich Berechtigungen bis auf Datensatz- und Feldebene definieren.

Kann Directus als BaaS für Mobile-Apps dienen?

Ja. Die automatisch generierten REST- und GraphQL-APIs sowie WebSocket-Subscriptions machen Directus zu einer leistungsfähigen Backend-Plattform für mobile Anwendungen.

Unterstützt Directus sowohl REST als auch GraphQL?

Ja. Directus generiert automatisch REST- und GraphQL-Endpunkte auf Basis des Datenmodells.

Kann ich eine bestehende Datenbank mit Directus nutzen?

Ja. Directus kann direkt auf vorhandenen PostgreSQL-, MySQL-, MariaDB-, SQLite- oder Microsoft-SQL-Server-Datenbanken aufsetzen.