Skip to Content
DocsLowcodeQuickstartAnbindung an ProcessCube®

Anbindung an ProcessCube®

Verbinden Sie ProcessCube® LowCode mit der Engine und Authority, um BPMN-Prozesse zu steuern und Ihre Anwendungen abzusichern.

ProcessCube Nodes installieren

Um ProcessCube® LowCode mit der ProcessCube®-Plattform zu verbinden, müssen zunächst die erforderlichen Node-Pakete installiert werden.

Event und Integration Nodes

Das Paket node-red-contrib-processcube enthält alle Event- und Integration Nodes der ProcessCube®-Plattform.

Installation:

  1. Öffnen Sie die Palette Manager im LowCode-Editor (Menü → Palette verwalten)
  2. Suchen Sie nach node-red-contrib-processcube
  3. Klicken Sie auf Installieren

Nach der Installation finden Sie unter den Konfigurations-Nodes die processcube-engine-config Node.

UI Nodes

Für die Nutzung der UI Nodes muss das node-red-dashboard Paket installiert werden.

Verfügbare UI Nodes:

  • node-red-dashboard-2-processcube-dynamic-form - Dynamische Formulare aus BPMN User Tasks
  • node-red-dashboard-2-processcube-dynamic-table - Tabellenanzeige für Prozessdaten
  • node-red-dashboard-2-processcube-ui-page-navigation - Navigation zwischen Dashboard-Seiten

Installation:

Installieren Sie jedes gewünschte Paket über die Palette Manager.

Weitere Details zur Nutzung der UI Nodes finden Sie unter UI Nodes.

Engine-Anbindung

Die Engine-URL konfiguriert die Verbindung zur ProcessCube® Engine.

Umgebungsvariable setzen

In der docker-compose.yml oder in den Umgebungsvariablen:

environment: - ENGINE_URL=http://engine:10560

Engine in Nodes registrieren

  1. Öffnen Sie eine beliebige ProcessCube® Node (z. B. process-start)
  2. Klicken Sie bei Engine auf das Stift-Symbol
  3. Geben Sie die Engine URL ein (z. B. http://localhost:10560)
  4. Speichern Sie die Konfiguration

Die registrierte Engine kann nun in allen anderen ProcessCube® Nodes wiederverwendet werden.

Authority-Anbindung (Optional)

Die Authority sichert den Zugriff auf den LowCode-Editor, das Dashboard und HTTP-Endpunkte ab.

Warum Authority?

Ohne Authority-Anbindung:

  • ✅ Entwicklung und Prototyping möglich
  • ❌ Keine Authentifizierung für Editor und Dashboard
  • ❌ Keine geschützten HTTP-Endpunkte
  • ❌ Nicht für Produktion geeignet

Mit Authority-Anbindung:

  • ✅ OAuth 2.0 / OpenID Connect Authentifizierung
  • ✅ Editor und Dashboard geschützt
  • ✅ HTTP-Endpunkte mit JWT-Token abgesichert
  • ✅ Produktionsreife Sicherheit

Umgebungsvariablen konfigurieren

docker-compose.yml
environment: # Authority-Basis-Konfiguration - NODERED_AUTHORITY_URL=http://authority:11235 - NODERED_BASE_URL=http://localhost:1880 # Editor-Authentifizierung - NODERED_CLIENT_ID=NodeRedEditorClient - NODERED_CLIENT_SECRET=NodeRedEditorSecret - NODERED_AUTH_ADDITIONAL_SCOPES=openid email profile nodered # Dashboard-Authentifizierung - NODERED_DASHBOARD_CLIENT_ID=NodeRedDashboardClient - NODERED_DASHBOARD_CLIENT_SECRET=NodeRedDashboardSecret - NODERED_DASHBOARD_AUTH_ADDITIONAL_SCOPES=openid email profile lanes engine_read engine_write

Authority-Konfiguration

In der Konfigurationsdatei der Authority (authority.json) müssen die Clients registriert werden:

authority.json
{ "otherClients": [ { "clientId": "NodeRedEditorClient", "clientSecret": "NodeRedEditorSecret", "scope": "openid email profile nodered", "grant_types": ["authorization_code", "refresh_token"], "response_types": ["code"], "redirect_uris": ["http://localhost:1880/auth/strategy/callback"], "post_logout_redirect_uris": ["http://localhost:1880/"], "corsOrigins": ["http://localhost:1880"] }, { "clientId": "NodeRedDashboardClient", "clientSecret": "NodeRedDashboardSecret", "scope": "openid email profile lanes engine_read engine_write", "grant_types": ["authorization_code", "refresh_token"], "response_types": ["code"], "redirect_uris": ["http://localhost:1880/auth/dashboard/callback"], "post_logout_redirect_uris": ["http://localhost:1880/dashboard"], "corsOrigins": ["http://localhost:1880"] } ] }

Geschützte Bereiche

Sobald die Authority konfiguriert ist, werden folgende Bereiche automatisch geschützt:

  • Editor (/) - Erfordert gültige Anmeldung
  • Admin-API - Für programmatische Zugriffe
  • HTTP-Endpunkte - Alle http in-Nodes (außer /public_api/*)
  • Dashboard (/dashboard) - Wenn Dashboard-Client konfiguriert ist

HTTP-Endpunkte absichern

http in-Nodes erwarten einen gültigen JWT-Token:

Header-basiert:

Authorization: Bearer <JWT-Token>

Query-Parameter:

GET /api/endpoint?access_token=<JWT-Token>

Der dekodierte Token ist in der Node unter msg.req.token verfügbar.

Öffentliche Endpunkte

Endpunkte mit dem Präfix /public_api/ sind von der Authority-Absicherung ausgenommen.

Wichtig: Die Absicherung dieser Endpunkte liegt in der Verantwortung des Flow-Erstellers.

Übliche Maßnahmen:

  • Token-Prüfung im Request
  • Header-Validierung
  • IP- oder Zeitfenster-Prüfung

Authentifizierung deaktivieren

Für Development-Umgebungen kann die Authentifizierung komplett deaktiviert werden:

environment: - NODERED_AUTH_DISABLED=true

Warnung: Verwenden Sie dies niemals in Produktionsumgebungen!

Einzelne APIs ausnehmen

Einzelne URLs können von der Autorisierung ausgenommen werden:

environment: - NODERED_AUTH_SKIP_URLS=/webhook,/status,/health

Es reicht aus, den Anfang der jeweiligen URL anzugeben (kommasepariert).

Verbindung testen

Engine-Verbindung prüfen

  1. Erstellen Sie einen Flow mit einer process-list Node
  2. Konfigurieren Sie die Engine-URL
  3. Deploy den Flow
  4. Führen Sie die Node aus

Erwartetes Ergebnis: Liste aller deployen Prozesse

Authority-Verbindung prüfen

  1. Navigieren Sie zu http://localhost:1880
  2. Sie werden zur Authority-Anmeldeseite weitergeleitet
  3. Melden Sie sich an

Erwartetes Ergebnis: Sie werden zurück zum Editor geleitet und sind angemeldet

Troubleshooting

Engine-Verbindung schlägt fehl

Fehler: Cannot connect to engine

Lösungen:

  • Prüfen Sie, ob die Engine erreichbar ist: curl http://localhost:10560
  • Überprüfen Sie die ENGINE_URL Umgebungsvariable
  • Stellen Sie sicher, dass Engine und LowCode im selben Docker-Netzwerk sind

Authority-Authentifizierung schlägt fehl

Fehler: Redirect URI mismatch

Lösungen:

  • Prüfen Sie die redirect_uris in der Authority-Konfiguration
  • Stellen Sie sicher, dass NODERED_BASE_URL korrekt gesetzt ist
  • Kontrollieren Sie, ob Client-ID und Client-Secret übereinstimmen

HTTP-Endpunkte nicht erreichbar

Fehler: 401 Unauthorized

Lösungen:

  • Prüfen Sie, ob ein gültiger JWT-Token im Request enthalten ist
  • Verwenden Sie /public_api/ Präfix für öffentliche Endpunkte
  • Deaktivieren Sie die Authentifizierung temporär für Tests: NODERED_AUTH_DISABLED=true

Nächste Schritte