Aller au contenu principal

IAM admin force-revoke les backup codes d'un user cible + kill ses sessions

POST 

/onboarding/v0/admin/users/:user_id/mfa/backup-codes/revoke

ADR-0019 (sub-projet F.1) — IAM admin endpoint, gated par @requires_roles(IAM_ADMIN, scope=iam:admin) + @requires_recent_mfa(SENSITIVE=60s). Force-révoque TOUS les backup codes actifs (non-consumed, non-revoked) du user cible en marquant BackupCode.revoked_at=now ET tue toutes ses AuthSession actives avec revoked_reason=ADMIN_FORCE_REVOKE_BACKUP_CODES.

Le session-kill est inconditionnel (incident-response Q-f2). L'asymétrie avec generate_backup_codes côté user (qui ne tue PAS les sessions, étant un flow de rotation routine) est justifiée par la différence de threat-model : admin agit sur incident, user agit sur rotation.

Idempotent : un re-call sur un user sans codes actifs renvoie 200 avec codesRevokedCount=0 mais tue quand même les sessions (incident-response semantic).

Audit : actor_user_id, target_user_id, request_id, codes_revoked_count, sessions_revoked_count, revoked_reason.

Request

Responses

Backup codes révoqués + sessions invalidées