Einen Subject-Konflikt auflösen

POST /v1/connections/{connection_id}/subject-conflicts/{conflict_id}:resolve · Berechtigung users:write

Wendet die Entscheidung einer Administratorin oder eines Administrators auf einen offenen SSO-Subject-Konflikt an (siehe Die Subject-Konflikte einer Verbindung auflisten). Entscheiden Sie erst, nachdem Sie mit der Administration des Identitätsanbieters geklärt haben, wem das neue Subject gehört.

resolution Bedeutung Was KeenAuth tut
same_person Das neue Subject gehört derselben Person (zum Beispiel wurde das Konto im Identitätsanbieter neu angelegt). Ersetzt die bisherige Identität des Benutzers auf dieser Verbindung durch das neue Subject. Der Benutzer meldet sich ab der nächsten Anmeldung mit dem neuen Subject an.
different_person Die E-Mail-Adresse wurde einer anderen Person zugewiesen. Schließt den Datensatz und verknüpft nichts. Die neue Person gelangt nie in das bestehende Konto.

Nach different_person öffnet die nächste Anmeldung der neuen Person einen neuen Datensatz. Damit die neue Person sich anmelden kann, ändern Sie die E-Mail-Adresse des bestehenden Kontos oder sperren oder löschen dieses Konto; danach gelten die üblichen Anmelderegeln.

Die Identitätsänderung, ihre Ereignisse und der Audit-Eintrag werden in einer Transaktion geschrieben. Als Auslöser des Audit-Eintrags gilt die Anmeldeinformation, die den Aufruf gestellt hat.

Wiederholen Sie dieselbe Entscheidung, gibt die Anfrage den Datensatz zurück, ohne etwas zu schreiben. Eine andere Entscheidung für einen bereits aufgelösten Datensatz liefert 409 conflict. Senden Sie einen Idempotency-Key, damit Sie bei Wiederholungen die ursprüngliche Antwort erhalten.

Anfrage

Feld Typ Pflicht Beschreibung
connection_id Pfad ja Verbindungs-ID (conn_…).
conflict_id Pfad ja Subject-Konflikt-ID (sscf_…).
resolution Body ja same_person oder different_person.
{ "resolution": "same_person" }

Antwort

200 OK mit dem aufgelösten Datensatz:

{
  "id": "sscf_01j9xr4a6b8c0d2e4f6g8h0j2k",
  "connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
  "user_id": "usr_01j9xm2n4p6q8r0s2t4v6w8x0y",
  "status": "resolved",
  "resolution": "same_person",
  "created_at": "2026-10-28T10:00:00Z",
  "last_seen_at": "2026-10-28T10:05:00Z",
  "expires_at": "2026-11-27T10:00:00Z",
  "closed_at": "2026-10-28T11:00:00Z"
}

Fehler

HTTP Code Wann
400 unknown_field / malformed_request Der Body enthält ein unbekanntes Feld oder ist kein gültiges JSON.
401 unauthenticated Die Anmeldedaten fehlen, sind ungültig oder widerrufen.
403 insufficient_permissions Die Anmeldedaten haben nicht users:write.
403 user_not_active same_person: Der Benutzer ist gesperrt oder wird gerade gelöscht. Der Datensatz bleibt offen.
404 not_found Die Verbindung oder der Datensatz existiert in dieser Umgebung nicht, der Datensatz gehört zu einer anderen Verbindung, oder er ist abgelaufen.
409 conflict Der Datensatz wurde mit der anderen Entscheidung aufgelöst; oder, bei same_person, die Verbindung ist nicht aktiv, das neue Subject ist inzwischen mit einem anderen Benutzer verknüpft oder die Identitätsgrenze des Benutzers ist erreicht. Bei den same_person-Fällen bleibt der Datensatz offen.
422 validation_failed resolution fehlt oder ist keiner der beiden Werte (errors[].pointer = /resolution).
429 rate_limited Das Ratenlimit wurde überschritten; wiederholen Sie die Anfrage nach der Zeit aus Retry-After.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach der Zeit aus Retry-After.

Beispiel

curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/subject-conflicts/sscf_01j9xr4a6b8c0d2e4f6g8h0j2k:resolve" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"resolution":"different_person"}'
keenauth connections subject-conflicts resolve conn_01j9xp6q0r1s5t7v9w1x3y5z7b sscf_01j9xr4a6b8c0d2e4f6g8h0j2k \
  --resolution different_person --yes