Authentifizierung
Das SDK bietet zwei Authentifizierungs-Strategien für unterschiedliche Anwendungsfälle:
Wann welche Strategie?
| Strategie | Anwendungsfall | Identity-Funktion |
|---|---|---|
| User-Identity | Aktionen im Kontext eines eingeloggten Benutzers — Server Components, Server Actions, API Routes | getIdentity() |
| Server-Identity | Server-to-Server-Kommunikation ohne Benutzerkontext — External Tasks, Cron-Jobs, Authority Admin | getServerIdentity() |
User-Identity (NextAuth)
Nutzt das JWT aus dem NextAuth-Session-Cookie. Der Token wird automatisch erneuert.
import { getIdentity } from '@5minds/processcube_app_sdk/server';
const identity = await getIdentity();
// identity.token — Access Token
// identity.userId — User IDVoraussetzungen: PROCESSCUBE_AUTHORITY_URL, NEXTAUTH_CLIENT_ID, NEXTAUTH_SECRET
Mehr Details: User-Identity
Server-Identity (Client Credentials)
Holt Tokens über den OAuth2 Client Credentials Grant. Token werden gecacht und automatisch erneuert.
import { getServerIdentity } from '@5minds/processcube_app_sdk/server';
const identity = await getServerIdentity();
// identity.token — Access Token
// identity.userId — Service-Account User IDVoraussetzungen: PROCESSCUBE_SERVER_CLIENT_ID, PROCESSCUBE_SERVER_CLIENT_SECRET
Mehr Details: Server-Identity
Authority Client
Für Server-to-Server User-Administration (Claims setzen, Gruppen zuweisen, User löschen):
import { AuthorityClient } from '@5minds/processcube_app_sdk/server';
const authority = new AuthorityClient();
await authority.updateClaim('user@example.com', 'email_verified', true);Mehr Details: Authority Client