Server-Identity (Client Credentials)
Für Server-to-Server-Kommunikation ohne Benutzerkontext — typischerweise in External Tasks, Cron-Jobs oder Authority-Admin-Operationen.
getServerAccessToken()
Holt einen Access Token über den OAuth2 Client Credentials Grant. Der Token wird gecacht und automatisch vor Ablauf erneuert.
import { getServerAccessToken } from '@5minds/processcube_app_sdk/server';
const token = await getServerAccessToken();Token-Cache-Flow
Optionen
interface ServerAccessTokenOptions {
clientId?: string; // Default: PROCESSCUBE_SERVER_CLIENT_ID
clientSecret?: string; // Default: PROCESSCUBE_SERVER_CLIENT_SECRET
scopes?: string; // Default: PROCESSCUBE_SERVER_SCOPES oder 'upe_admin engine_read engine_write'
authorityUrl?: string; // Default: PROCESSCUBE_AUTHORITY_URL
skipCache?: boolean; // Cache umgehen und frischen Token holen
}getServerIdentity()
Wrapper um getServerAccessToken(), der direkt ein Identity-Objekt zurückgibt:
import { getServerIdentity } from '@5minds/processcube_app_sdk/server';
const identity = await getServerIdentity();
// identity.token — Access Token
// identity.userId — Service-Account User IDBeispiel: External Task mit Server-Token
app/cleanup/external_task.ts
import { getServerIdentity, getEngineClient } from '@5minds/processcube_app_sdk/server';
export default async function cleanup(payload: any) {
const identity = await getServerIdentity();
const client = getEngineClient();
const instances = await client.processInstances.query(
{ state: 'error' },
{ identity }
);
for (const instance of instances) {
await client.processInstances.terminateProcessInstance(
instance.processInstanceId,
identity
);
}
return { terminated: instances.length };
}Umgebungsvariablen
| Variable | Pflicht | Standard | Beschreibung |
|---|---|---|---|
PROCESSCUBE_SERVER_CLIENT_ID | Ja | — | OAuth2 Client ID für Server-to-Server Auth |
PROCESSCUBE_SERVER_CLIENT_SECRET | Ja | — | OAuth2 Client Secret |
PROCESSCUBE_SERVER_SCOPES | Nein | upe_admin engine_read engine_write | Scopes für den Server-Token |
PROCESSCUBE_AUTHORITY_URL | Ja | — | URL der ProcessCube Authority |