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
};| Callback | Aufgabe |
|---|---|
authConfigJwtCallback | Überträgt Access Token, ID Token und Refresh Token in das JWT. Erneuert abgelaufene Tokens automatisch. |
authConfigSessionCallback | Extrahiert Claims aus dem Access Token und stellt sie in session.user.claims bereit. |
Umgebungsvariablen
| Variable | Pflicht | Beschreibung |
|---|---|---|
PROCESSCUBE_AUTHORITY_URL | Ja | URL der ProcessCube Authority |
NEXTAUTH_CLIENT_ID | Ja | OAuth2 Client ID für den Benutzer-Login |
NEXTAUTH_SECRET | Ja | Secret für NextAuth JWT-Verschlüsselung |
NEXTAUTH_URL | Nein | URL der NextAuth-Instanz (Auto-Detect) |