Les clés API s'assemblent sans lire dist/ #39

Merged
nicolas-fryder merged 1 commit from fix/cles-api into main 2026-09-09 21:22:15 +00:00

Le socle avait toutes les pièces ; les assembler demandait d'ouvrir le code
compilé, sur quatre points.

preparerCle rend d'un coup la valeur à montrer une fois et la ligne à
écrire, portées bornées comprises. genererCle s'arrêtait à la valeur :
l'insertion restait à écrire à la main, à chaque agent et dans chaque
satellite. Se tromper de champ produit une clé qui n'authentifie rien, et la
valeur en clair est déjà perdue quand on s'en aperçoit. Le socle n'écrit pas
en base — DepotCles est en lecture seule par conception.

scopesAutorises rend l'intersection sans lever. scopesBornes refuse
l'appel entier dès qu'une portée dépasse : bon pour créer une clé, mais ça
rendait impossible « donne-lui tout ce que je peux parmi ceci » sans
réécrire la fonction pour savoir quoi lui soumettre.

Le non-rebornage est écrit, sur la signature et dans le README, avec sa
conséquence : retirer un rôle à quelqu'un ne retire rien à ses clés
existantes, il faut les révoquer. C'est une propriété d'autorisation, et
elle ne vivait que dans dist/index.js.

API_KEY_PREFIX est documenté sur OptionsAuthPlateforme : le préfixe
vient de l'environnement, une seule source. Deux se contrediraient en
silence, et c'est celui qui n'a pas créé les clés qui ferait échouer
l'authentification.

Signalé par le premier satellite réel (#36), qui l'a monté en production en
lisant dist/.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

Le socle avait toutes les pièces ; les assembler demandait d'ouvrir le code compilé, sur quatre points. `preparerCle` rend d'un coup la valeur à montrer une fois et la ligne à écrire, portées bornées comprises. `genererCle` s'arrêtait à la valeur : l'insertion restait à écrire à la main, à chaque agent et dans chaque satellite. Se tromper de champ produit une clé qui n'authentifie rien, et la valeur en clair est déjà perdue quand on s'en aperçoit. Le socle n'écrit pas en base — `DepotCles` est en lecture seule par conception. `scopesAutorises` rend l'intersection sans lever. `scopesBornes` refuse l'appel entier dès qu'une portée dépasse : bon pour créer une clé, mais ça rendait impossible « donne-lui tout ce que je peux parmi ceci » sans réécrire la fonction pour savoir quoi lui soumettre. Le non-rebornage est écrit, sur la signature et dans le README, avec sa conséquence : retirer un rôle à quelqu'un ne retire rien à ses clés existantes, il faut les révoquer. C'est une propriété d'autorisation, et elle ne vivait que dans `dist/index.js`. `API_KEY_PREFIX` est documenté sur `OptionsAuthPlateforme` : le préfixe vient de l'environnement, une seule source. Deux se contrediraient en silence, et c'est celui qui n'a pas créé les clés qui ferait échouer l'authentification. Signalé par le premier satellite réel (#36), qui l'a monté en production en lisant `dist/`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Le socle avait toutes les pièces ; les assembler demandait d'ouvrir le code
compilé, sur quatre points.

`preparerCle` rend d'un coup la valeur à montrer une fois et la ligne à
écrire, portées bornées comprises. `genererCle` s'arrêtait à la valeur :
l'insertion restait à écrire à la main, à chaque agent et dans chaque
satellite. Se tromper de champ produit une clé qui n'authentifie rien, et la
valeur en clair est déjà perdue quand on s'en aperçoit. Le socle n'écrit pas
en base — `DepotCles` est en lecture seule par conception.

`scopesAutorises` rend l'intersection sans lever. `scopesBornes` refuse
l'appel entier dès qu'une portée dépasse : bon pour créer une clé, mais ça
rendait impossible « donne-lui tout ce que je peux parmi ceci » sans
réécrire la fonction pour savoir quoi lui soumettre.

Le non-rebornage est écrit, sur la signature et dans le README, avec sa
conséquence : retirer un rôle à quelqu'un ne retire rien à ses clés
existantes, il faut les révoquer. C'est une propriété d'autorisation, et
elle ne vivait que dans `dist/index.js`.

`API_KEY_PREFIX` est documenté sur `OptionsAuthPlateforme` : le préfixe
vient de l'environnement, une seule source. Deux se contrediraient en
silence, et c'est celui qui n'a pas créé les clés qui ferait échouer
l'authentification.

Signalé par le premier satellite réel (#36), qui l'a monté en production en
lisant `dist/`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
nicolas-fryder deleted branch fix/cles-api 2026-09-09 21:22:24 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Infrastructure/eqs-platform!39
No description provided.