@eqs/auth : le commentaire de creerAuth nie les comptes créés à l'avance, que provision 'ferme' rend nécessaires #152

Open
opened 2026-10-14 14:04:13 +00:00 by nicolas-fryder · 0 comments

Constat

Dans creerAuth (packages/auth/src/better-auth.ts, bloc account), le commentaire de accountLinking dit en substance qu'avec l'inscription fermée, « aucun compte pré-semé ne peut exister pour y lier une connexion ».

Or provision: 'ferme' impose justement l'inverse. Une connexion Entra ne crée jamais de compte : elle ne se rattache qu'à un compte qui existe déjà avec la même adresse. Un satellite doit donc créer ses comptes à l'avance. Nuage le fait désormais depuis son administration (POST /api/admin/users, EQS-Sandbox/NUAGE#1, commit f7ff9e1).

Une condition non dite

better-auth 1.7 ne rattache un compte Microsoft à un compte local que si celui-ci a emailVerified: true (requireLocalEmailVerified vaut true par défaut, et creerAuth ne le change pas), même pour un fournisseur de confiance. Un compte créé avec emailVerified: false reçoit « account not linked ». Nuage l'a mesuré avec le vrai handleOAuthUserInfo.

Ce qui est attendu

  • Corriger le commentaire : en provision: 'ferme', c'est le satellite qui crée les comptes, et la connexion Entra s'y rattache.
  • Écrire dans le cahier des charges la condition emailVerified: true pour un compte créé à l'avance. Une aide exportée, du genre creerCompteSalarie({ email, name, role }), éviterait à chaque satellite de la redécouvrir.

Ouvert depuis une session de travail sur Nuage.

## Constat Dans `creerAuth` (`packages/auth/src/better-auth.ts`, bloc `account`), le commentaire de `accountLinking` dit en substance qu'avec l'inscription fermée, « aucun compte pré-semé ne peut exister pour y lier une connexion ». Or `provision: 'ferme'` impose justement l'inverse. Une connexion Entra ne crée jamais de compte : elle ne se rattache qu'à un compte **qui existe déjà** avec la même adresse. Un satellite doit donc créer ses comptes à l'avance. Nuage le fait désormais depuis son administration (`POST /api/admin/users`, EQS-Sandbox/NUAGE#1, commit `f7ff9e1`). ## Une condition non dite better-auth 1.7 ne rattache un compte Microsoft à un compte local **que si celui-ci a `emailVerified: true`** (`requireLocalEmailVerified` vaut `true` par défaut, et `creerAuth` ne le change pas), même pour un fournisseur de confiance. Un compte créé avec `emailVerified: false` reçoit « account not linked ». Nuage l'a mesuré avec le vrai `handleOAuthUserInfo`. ## Ce qui est attendu - Corriger le commentaire : en `provision: 'ferme'`, c'est le satellite qui crée les comptes, et la connexion Entra s'y rattache. - Écrire dans le cahier des charges la condition `emailVerified: true` pour un compte créé à l'avance. Une aide exportée, du genre `creerCompteSalarie({ email, name, role })`, éviterait à chaque satellite de la redécouvrir. *Ouvert depuis une session de travail sur Nuage.*
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#152
No description provided.