75 lines
1.4 KiB
Markdown
75 lines
1.4 KiB
Markdown
# @packages/auth
|
|
|
|
Package d'authentification réutilisable pour projets React + Express.
|
|
|
|
## Exports
|
|
|
|
- `@packages/auth/react`
|
|
- `@packages/auth/server`
|
|
|
|
## Contrat Prisma minimal
|
|
|
|
Le package serveur suppose un socle Auth.js compatible, avec les modèles suivants:
|
|
|
|
- `User`
|
|
- `Account`
|
|
- `Session`
|
|
- `VerificationToken`
|
|
|
|
Champs attendus pour le flux local email/mot de passe et reset:
|
|
|
|
- `User.id`
|
|
- `User.email`
|
|
- `User.name`
|
|
- `User.image`
|
|
- `User.passwordHash`
|
|
- `User.emailVerified`
|
|
- `Session.sessionToken`
|
|
- `Session.userId`
|
|
- `Session.expires`
|
|
- `VerificationToken.identifier`
|
|
- `VerificationToken.token`
|
|
- `VerificationToken.expires`
|
|
|
|
Le package n'impose pas les champs métier supplémentaires. Ils peuvent rester propres à chaque application.
|
|
|
|
## Intégration côté serveur
|
|
|
|
Le noyau serveur expose:
|
|
|
|
- `createAuthModule`
|
|
- `registerAuthApiRoutes`
|
|
|
|
Les points configurables importants:
|
|
|
|
- `signInPath`
|
|
- `authenticatedRedirectPath`
|
|
- `messages`
|
|
- `passwordReset`
|
|
- `onUserRegistered`
|
|
- `onSessionValidated`
|
|
|
|
## Intégration côté React
|
|
|
|
Le package React expose:
|
|
|
|
- `createAuthClient`
|
|
- `AuthGuard`
|
|
- `LoginForm`
|
|
- `PasswordResetRequestForm`
|
|
- `PasswordResetConfirmForm`
|
|
|
|
`createAuthClient` accepte notamment `defaultOAuthCallbackUrl` pour éviter toute dépendance à une route post-login fixe.
|
|
|
|
## Build
|
|
|
|
```bash
|
|
npm run build --workspace @packages/auth
|
|
```
|
|
|
|
## Watch
|
|
|
|
```bash
|
|
npm run dev --workspace @packages/auth
|
|
```
|