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:
- Öffnen Sie die Palette Manager im LowCode-Editor (Menü → Palette verwalten)
- Suchen Sie nach
node-red-contrib-processcube - 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 Tasksnode-red-dashboard-2-processcube-dynamic-table- Tabellenanzeige für Prozessdatennode-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:10560Engine in Nodes registrieren
- Öffnen Sie eine beliebige ProcessCube® Node (z. B.
process-start) - Klicken Sie bei Engine auf das Stift-Symbol
- Geben Sie die Engine URL ein (z. B.
http://localhost:10560) - 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
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_writeAuthority-Konfiguration
In der Konfigurationsdatei der Authority (authority.json) müssen die Clients registriert werden:
{
"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=trueWarnung: 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,/healthEs reicht aus, den Anfang der jeweiligen URL anzugeben (kommasepariert).
Verbindung testen
Engine-Verbindung prüfen
- Erstellen Sie einen Flow mit einer
process-listNode - Konfigurieren Sie die Engine-URL
- Deploy den Flow
- Führen Sie die Node aus
Erwartetes Ergebnis: Liste aller deployen Prozesse
Authority-Verbindung prüfen
- Navigieren Sie zu
http://localhost:1880 - Sie werden zur Authority-Anmeldeseite weitergeleitet
- 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_URLUmgebungsvariable - 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_urisin der Authority-Konfiguration - Stellen Sie sicher, dass
NODERED_BASE_URLkorrekt 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
- Beispiel-Flows - Fertige Flows zum Importieren
- Konfiguration - Alle Umgebungsvariablen im Detail
- Integration Nodes - Alle verfügbaren ProcessCube® Nodes