Eine Anwendung aussetzen
POST /v1/applications/{application_id}:suspend · Berechtigung applications:write
Setzt den status der Anwendung auf suspended. Ab dann kann die Anwendung keine neuen Tokens mehr erhalten: Autorisierung, PAR, Geräteautorisierung, der Token-Endpunkt (einschließlich Refresh und client_credentials), Introspection und Widerruf lehnen sie als Client ab. Die Aussetzung beendet außerdem, was die Anwendung bereits besitzt: KeenAuth widerruft ihre aktiven Refresh-Token-Familien, die vor der Aussetzung geöffnet wurden (Grund client_revoked), und markiert ihre client_id, sodass Introspection und Userinfo Access-Token ablehnen, die ihr vor diesem Zeitpunkt ausgestellt wurden. Ein Resource Server, der nur die Signatur des JWT prüft, akzeptiert ein solches Access-Token bis zu seinem Ablauf weiterhin. Die Client-Zugangsdaten der Anwendung bleiben erhalten, daher benötigt das Fortsetzen kein neues Secret. Die Anfrage hat keinen Body (leer oder {}). Das Aussetzen einer bereits ausgesetzten Anwendung ändert nichts und liefert die aktuelle Anwendung mit derselben Version. Die Änderung wird als application.updated im Verwaltungs-Audit-Log protokolliert und als Ereignisse application_changed und application_status_changed veröffentlicht.
Anfrage
Header: If-Match: "<version>" (optional). Mit If-Match gilt die Änderung nur für diese Version (sonst 412); ohne Header wird die neueste Version verwendet, und die Anfrage wird wiederholt, wenn ein anderer Schreibvorgang die Anwendung gleichzeitig ändert. Senden Sie einen Idempotency-Key-Header, damit Wiederholungen sicher sind.
| Parameter | In | Pflicht | Beschreibung |
|---|---|---|---|
application_id |
path | ja | Anwendungs-ID, mit app_ beginnend. |
Antwort
200 OK mit der Anwendung ("status": "suspended") und ihrem ETag.
Fehler
Jeder Fehler ist ein application/problem+json-Body mit einem stabilen code.
| HTTP | code |
Wann |
|---|---|---|
| 400 | malformed_request, unknown_field |
Ein Body wurde gesendet, der kein gültiges JSON ist oder ein Feld enthält. |
| 401 | unauthenticated |
Der API-Schlüssel fehlt, ist ungültig oder widerrufen. |
| 403 | insufficient_permissions |
Der Schlüssel hat nicht die Berechtigung applications:write. |
| 404 | not_found |
Die Anwendung existiert in dieser Umgebung nicht (oder die ID ist fehlerhaft). |
| 412 | precondition_failed |
Die Version in If-Match ist veraltet. |
| 429 | rate_limited |
Das Ratenlimit wurde überschritten; Retry-After beachten. |
| 503 | service_unavailable |
Eine Abhängigkeit ist vorübergehend nicht verfügbar; später erneut versuchen. |
Beispiel
curl -X POST https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg:suspend \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)"
CLI: keenauth applications suspend app_6f8d0cjgbmf0gtn2rg6pscp3cg --yes