@eqs/auth : monter @better-auth/oauth-provider par creerAuth({ plugins }) — typage refusé et surface du greffon laissée ouverte #145

Closed
opened 2026-10-12 11:29:39 +00:00 by nicolas-fryder · 0 comments

Le README d'@eqs/auth renvoie le serveur OAuth 2.1 au « plugin better-auth de l'application ». ATLAS l'a monté par creerAuth({ plugins: [oauthProvider(…), jwt()] }), comme Topologie le fait sur better-auth nu. Deux défauts.

1. Typage

Commande : tsc sur creerAuth({ plugins: [oauthProvider({…})] }) sous @eqs/tooling/tsconfig.next.json.
Attendu : compile ; auth.api expose les points d'entrée du greffon.
Observé : oauthProvider n'est pas assignable à BetterAuthPlugin sous exactOptionalPropertyTypes (ses descriptions OpenAPI portent items?: undefined), et le type de auth.api ignore les greffons passés là (getOAuthServerConfig absent).
Contournement : garde estGreffon et Reflect.apply sur la méthode cherchée à l'exécution (oauth/configuration.ts, oauth/metadonnees.ts).

2. ROUTES_AUTH_FERMEES ne ferme presque rien du greffon

Observé : seuls l'inscription et la gestion des clients sont fermées. Restent ouverts get-clients, get-consent(s), update-consent, delete-consent, continue, userinfo, end-session, et les deux routes du greffon jwt (/token, /jwks) que le serveur d'autorisation exige.
Contournement : liste BLANCHE dans oauth/passerelle.ts (authorize, consent, token, revoke, introspect), tout le reste en 404.
Proposition : une liste blanche dans le socle pour les greffons qu'il documente, plutôt qu'une liste noire qui ne suit pas leurs versions.

Versions

@eqs/auth 0.20.0, better-auth 1.7.7, @better-auth/oauth-provider 1.7.7.

Ouvert depuis le rejeu du rétrofit d'ATLAS (étape 5b).

Le README d'@eqs/auth renvoie le serveur OAuth 2.1 au « plugin better-auth de l'application ». ATLAS l'a monté par `creerAuth({ plugins: [oauthProvider(…), jwt()] })`, comme Topologie le fait sur better-auth nu. Deux défauts. ## 1. Typage **Commande** : `tsc` sur `creerAuth({ plugins: [oauthProvider({…})] })` sous `@eqs/tooling/tsconfig.next.json`. **Attendu** : compile ; `auth.api` expose les points d'entrée du greffon. **Observé** : `oauthProvider` n'est pas assignable à `BetterAuthPlugin` sous `exactOptionalPropertyTypes` (ses descriptions OpenAPI portent `items?: undefined`), et le type de `auth.api` ignore les greffons passés là (`getOAuthServerConfig` absent). **Contournement** : garde `estGreffon` et `Reflect.apply` sur la méthode cherchée à l'exécution (`oauth/configuration.ts`, `oauth/metadonnees.ts`). ## 2. `ROUTES_AUTH_FERMEES` ne ferme presque rien du greffon **Observé** : seuls l'inscription et la gestion des clients sont fermées. Restent ouverts `get-clients`, `get-consent(s)`, `update-consent`, `delete-consent`, `continue`, `userinfo`, `end-session`, et les deux routes du greffon `jwt` (`/token`, `/jwks`) que le serveur d'autorisation exige. **Contournement** : liste BLANCHE dans `oauth/passerelle.ts` (authorize, consent, token, revoke, introspect), tout le reste en 404. **Proposition** : une liste blanche dans le socle pour les greffons qu'il documente, plutôt qu'une liste noire qui ne suit pas leurs versions. ## Versions @eqs/auth 0.20.0, better-auth 1.7.7, @better-auth/oauth-provider 1.7.7. *Ouvert depuis le rejeu du rétrofit d'ATLAS (étape 5b).*
Sign in to join this conversation.
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#145
No description provided.