Skip to Content

User-Identity (NextAuth)

Für Server Components und Server Actions, die im Kontext eines eingeloggten Benutzers laufen.

getIdentity()

Gibt die Identity des aktuell eingeloggten Benutzers zurück. Nutzt das NextAuth-JWT aus dem Session-Cookie.

import { getIdentity } from '@5minds/processcube_app_sdk/server'; export default async function MyPage() { const identity = await getIdentity(); // identity.token — Access Token // identity.userId — User ID (sub Claim) }

Der Token wird automatisch erneuert, wenn er abgelaufen ist.

Voraussetzungen: PROCESSCUBE_AUTHORITY_URL, NEXTAUTH_CLIENT_ID und NEXTAUTH_SECRET müssen gesetzt sein.

hasClaim()

Prüft, ob der aktuelle Benutzer einen bestimmten Claim besitzt. Funktioniert sowohl in Server Components als auch im Client.

import { hasClaim } from '@5minds/processcube_app_sdk'; const isAdmin = await hasClaim('admin');

hasClaim wird aus dem Common-Import (@5minds/processcube_app_sdk) importiert, nicht aus /server.

Auth-Callbacks für NextAuth

Das SDK exportiert vorkonfigurierte Callbacks für die NextAuth-Konfiguration:

import { authConfigJwtCallback, authConfigSessionCallback } from '@5minds/processcube_app_sdk'; export const authOptions = { callbacks: { jwt: authConfigJwtCallback, session: authConfigSessionCallback, }, // ... weitere NextAuth-Konfiguration };
CallbackAufgabe
authConfigJwtCallbackÜberträgt Access Token, ID Token und Refresh Token in das JWT. Erneuert abgelaufene Tokens automatisch.
authConfigSessionCallbackExtrahiert Claims aus dem Access Token und stellt sie in session.user.claims bereit.

Umgebungsvariablen

VariablePflichtBeschreibung
PROCESSCUBE_AUTHORITY_URLJaURL der ProcessCube Authority
NEXTAUTH_CLIENT_IDJaOAuth2 Client ID für den Benutzer-Login
NEXTAUTH_SECRETJaSecret für NextAuth JWT-Verschlüsselung
NEXTAUTH_URLNeinURL der NextAuth-Instanz (Auto-Detect)