Skip to Content
DocsAuthorityGrundlegende Konzepte

Grundlegende Konzepte

Die Authority basiert auf den Standards OAuth 2.0 und OpenID Connect 1.0.

OAuth 2.0

OAuth 2.0 ist ein Autorisierungs-Framework, das es Anwendungen ermöglicht, eingeschränkten Zugriff auf Benutzerkonten zu erhalten.

Authorization Code Flow

Der Authorization Code Flow ist der empfohlene Flow für Web-Anwendungen:

  1. Die Anwendung leitet den Benutzer zur Authority weiter
  2. Der Benutzer authentifiziert sich
  3. Die Authority leitet zurück zur Anwendung mit einem Authorization Code
  4. Die Anwendung tauscht den Code gegen einen Access Token ein
  5. Die Anwendung verwendet den Access Token für API-Anfragen

Client Credentials Flow

Der Client Credentials Flow wird für Server-zu-Server-Kommunikation verwendet:

  1. Die Anwendung sendet Client ID und Client Secret an die Authority
  2. Die Authority gibt einen Access Token zurück
  3. Die Anwendung verwendet den Access Token für API-Anfragen

OpenID Connect 1.0

OpenID Connect erweitert OAuth 2.0 um Authentifizierung.

ID Token

Der ID Token ist ein JWT (JSON Web Token), der Informationen über den authentifizierten Benutzer enthält:

{ "sub": "1234567890", "name": "Max Mustermann", "email": "max@example.com", "iat": 1516239022 }

Tokens

Die Authority verwendet drei Arten von Tokens:

Access Token

Der Access Token berechtigt zum Zugriff auf geschützte Ressourcen.

  • Format: JWT
  • Gültigkeit: Konfigurierbar (Standard: 1 Stunde)
  • Verwendung: Authorization Header (Bearer <token>)

Identity Token

Der Identity Token enthält Informationen über den authentifizierten Benutzer.

  • Format: JWT
  • Gültigkeit: Konfigurierbar (Standard: 1 Stunde)
  • Inhalt: Benutzerdaten, Claims

Refresh Token

Der Refresh Token ermöglicht das Erneuern von Access Tokens ohne erneute Authentifizierung.

  • Format: Zufälliger String
  • Gültigkeit: Konfigurierbar (Standard: 30 Tage)
  • Verwendung: Token Endpoint

Scopes

Scopes definieren grobe Zugriffsberechtigung und fassen mehrere Claims zusammen.

ScopeBeschreibung
openidOpenID Connect Authentifizierung
profileZugriff auf Benutzerprofil
emailZugriff auf E-Mail-Adresse
engine_readLesezugriff auf Engine-Ressourcen
engine_writeSchreibzugriff auf Engine-Ressourcen
engine_observerZugriff auf Engine-Events
upe_adminAdministratorzugriff auf UPE
anonymous_sessionErstellen anonymer Sessions

Claims

Claims sind Key-Value-Paare, die Berechtigungen oder Eigenschaften eines Benutzers beschreiben.

Standard Claims

ClaimBeschreibung
subSubject - eindeutige Benutzer-ID
nameVollständiger Name
emailE-Mail-Adresse
email_verifiedE-Mail verifiziert

Engine Claims

ClaimBeschreibung
can_read_process_modelProzessmodelle lesen
can_write_process_modelProzessmodelle schreiben
can_delete_process_modelProzessmodelle löschen
can_start_process_instanceProzessinstanzen starten
can_read_process_instanceProzessinstanzen lesen
can_terminate_process_instanceProzessinstanzen beenden
can_read_user_tasksUserTasks lesen
can_finish_user_tasksUserTasks bearbeiten
can_read_manual_tasksManualTasks lesen
can_finish_manual_tasksManualTasks bearbeiten
can_read_eventsEvents lesen
can_trigger_eventsEvents auslösen
can_subscribe_to_eventsEvents abonnieren

UPE Claims

ClaimBeschreibung
upe_adminVoller Zugriff auf UPE-Verwaltung
can_manage_usersBenutzer verwalten
can_manage_groupsGruppen verwalten
can_manage_claimsClaims verwalten
can_manage_scopesScopes verwalten

Custom Claims

Anwendungen können eigene Claims definieren:

{ "can_access_reports": true, "department": "Sales", "max_discount": 15 }

Gruppen

Gruppen ermöglichen die zentrale Verwaltung von Berechtigungen.

  • Eine Gruppe kann mehrere Claims haben
  • Ein Benutzer kann mehreren Gruppen angehören
  • Benutzer erben alle Claims ihrer Gruppen
  • Änderungen an Gruppen wirken sich sofort auf alle Mitglieder aus

JWKS (JSON Web Key Set)

Die Authority stellt einen JWKS-Endpunkt bereit, über den Public Keys für die Token-Verifizierung abgerufen werden können:

GET http://authority:11560/.well-known/jwks.json

Dies ermöglicht es Anwendungen, Tokens zu verifizieren, ohne mit der Authority zu kommunizieren.