Aller au contenu

Cycle de vie d'un tenant

Les endpoints d’administration gèrent le cycle de vie d’un tenant. Ils sont identiques entre l’Auth Relay et le Chat Relay, à quelques différences près signalées plus bas. Tous sont protégés par l’en-tête X-Admin-Key (une clé d’opérateur, distincte des secrets de tenant).

Une règle simple, valable partout :

  • provision prend un corps JSON. C’est la seule création ; elle reçoit toute la configuration du tenant dans le corps.
  • Tout le reste prend ?tenant_id= en paramètre de requête (update, rotate/*, suspend, reactivate, fetch). update accepte en plus un corps partiel.
MéthodeCheminParamètresEffet
POST/provision/tenantcorps JSONCrée le tenant ; renvoie tenant_id + tenant_secret une seule fois.
POST/update/tenant?tenant_id= + corpsMise à jour partielle de la configuration.
POST/rotate/tenant-secret?tenant_id=Nouveau tenant_secret ; l’ancien est invalidé immédiatement.
POST/suspend/tenant?tenant_id=Bloque les appels signés (403) jusqu’à réactivation.
POST/reactivate/tenant?tenant_id=Lève la suspension.
GET/fetch/tenant?tenant_id=Renvoie la configuration (jamais le secret).
GET/fetch/tenants?limit=&offset=Liste paginée.

Différences par relais :

  1. Appelez POST /rotate/tenant-secret?tenant_id=... avec X-Admin-Key.
  2. Récupérez le nouveau tenant_secret dans la réponse (affiché une fois).
  3. Déployez-le dans le coffre à secrets de votre backend.
  4. L’ancien secret cesse de signer valablement immédiatement : prévoyez un court basculement.

La suspension est réversible et bloque immédiatement tous les appels signés du tenant (réponse 403). C’est le levier à utiliser en cas d’incident : suspend maintenant, enquêter, puis reactivate.