@obsidiane/auth-client-js 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -12
- package/obsidiane-auth-client-js-0.1.0.tgz +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -242,6 +242,7 @@ validation **Origin/Referer** (Same Origin).
|
|
|
242
242
|
- [Architecture](#architecture)
|
|
243
243
|
- [Démarrage rapide](#démarrage-rapide)
|
|
244
244
|
- [API & flux principaux](#api--flux-principaux)
|
|
245
|
+
- [Codes d’erreur (API)](#codes-derreur-api)
|
|
245
246
|
- [Intégration front (SPA)](#intégration-front-spa)
|
|
246
247
|
- [Configuration & déploiement](#configuration--déploiement)
|
|
247
248
|
- [SDKs](#sdks)
|
|
@@ -387,7 +388,7 @@ make check-prod
|
|
|
387
388
|
make test
|
|
388
389
|
```
|
|
389
390
|
|
|
390
|
-
**Avant de push :** Lancez `make test` pour vérifier que tout passe (lint, build production, PHPStan)
|
|
391
|
+
**Avant de push :** Lancez `make test` pour vérifier que tout passe (lint, build production, PHPStan).
|
|
391
392
|
|
|
392
393
|
### URLs utiles (dev)
|
|
393
394
|
|
|
@@ -414,7 +415,7 @@ curl -i \
|
|
|
414
415
|
-c cookiejar.txt \
|
|
415
416
|
-H 'Content-Type: application/json' \
|
|
416
417
|
-H "Origin: http://localhost:8000" \
|
|
417
|
-
-d '{"email":"
|
|
418
|
+
-d '{"email":"user@example.com","password":"Secret123!"}' \
|
|
418
419
|
http://localhost:8000/api/auth/login
|
|
419
420
|
|
|
420
421
|
# Profil courant
|
|
@@ -442,12 +443,39 @@ curl -i -b cookiejar.txt -H "Origin: http://localhost:8000" -X POST http://local
|
|
|
442
443
|
| POST | `/api/auth/password/reset` | Réinitialisation via token |
|
|
443
444
|
| GET | `/api/auth/verify-email` | Validation d’email via lien signé |
|
|
444
445
|
| POST | `/api/auth/invite` | Inviter un utilisateur (admin) |
|
|
446
|
+
| GET | `/api/auth/invite/preview` | Prévisualiser une invitation |
|
|
445
447
|
| POST | `/api/auth/invite/complete` | Compléter une invitation |
|
|
448
|
+
| PUT | `/api/users/{id}/roles` | Mettre à jour les roles (admin) |
|
|
446
449
|
|
|
447
450
|
Les payloads détaillés, codes de réponse et schémas sont disponibles dans `http://<APP_BASE_URL>/api/docs` (OpenAPI).
|
|
448
451
|
|
|
449
452
|
---
|
|
450
453
|
|
|
454
|
+
## Codes d’erreur (API)
|
|
455
|
+
|
|
456
|
+
L’API expose des erreurs HTTP standard. Selon le format (`Accept`), la réponse suit le schéma Problem Details/JSON
|
|
457
|
+
ou Hydra, mais les statuts restent identiques.
|
|
458
|
+
|
|
459
|
+
| HTTP | Cas principaux | Détails |
|
|
460
|
+
| ---: | --- | --- |
|
|
461
|
+
| 400 | Requête invalide, token invalide | `verify-email` (id manquant), reset/verify token invalide, invitation sans token (`details.token = INVALID_INVITATION`). |
|
|
462
|
+
| 401 | Non authentifié | `me`, JWT invalide/expiré, service token invalide, login refusé. |
|
|
463
|
+
| 403 | Accès refusé | Origin/Referer non autorisé, endpoints admin sans rôle. |
|
|
464
|
+
| 404 | Introuvable | Invitation inconnue, user introuvable, inscription désactivée. |
|
|
465
|
+
| 409 | Conflit | Email déjà utilisé, invitation déjà acceptée, bootstrap requis ou déjà fait. |
|
|
466
|
+
| 410 | Expiré | Invitation expirée, lien de vérification expiré, reset token expiré. |
|
|
467
|
+
| 422 | Validation | Email/mot de passe invalides, champs requis, `INVALID_ROLES`, confirmation mot de passe. |
|
|
468
|
+
| 423 | Verrouillé | Email non vérifié lors du login. |
|
|
469
|
+
| 429 | Rate limit | Login, register, invite, invite/complete, password/forgot/reset, setup/admin. |
|
|
470
|
+
| 500 | Erreur interne | Échec de reset password non géré (`ResetRequestFailedException`). |
|
|
471
|
+
| 503 | Service indisponible | Échec d’envoi d’email (`MailDispatchException`). |
|
|
472
|
+
|
|
473
|
+
Identifiants d’erreurs utiles dans les payloads/validations :
|
|
474
|
+
- `INVALID_INVITATION` (token manquant ou invalide lors du preview).
|
|
475
|
+
- `INVALID_ROLES` (payload de roles invalide).
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
451
479
|
## Origin/Referer
|
|
452
480
|
|
|
453
481
|
Tous les endpoints sensibles (login, register, reset, logout, setup, invitation) valident l’**Origin/Referer** :
|
|
@@ -710,7 +738,7 @@ cd core && vendor/bin/phpstan analyse -c phpstan.neon.dist
|
|
|
710
738
|
|
|
711
739
|
#### Frontend (Angular/TypeScript)
|
|
712
740
|
|
|
713
|
-
- **Angular
|
|
741
|
+
- **Angular 21** : Standalone components, signals, inject()
|
|
714
742
|
- **TypeScript strict mode** : Tous les flags stricts activés
|
|
715
743
|
- **ESLint** : Configuration custom avec règles Angular
|
|
716
744
|
- **Prefer inject()** : Utiliser `inject()` au lieu de constructor injection
|
|
@@ -736,19 +764,15 @@ Le projet maintient une qualité de code stricte :
|
|
|
736
764
|
|
|
737
765
|
## Tests & SDKs
|
|
738
766
|
|
|
739
|
-
### Tests end-to-end
|
|
767
|
+
### Tests end-to-end (webfront)
|
|
740
768
|
|
|
741
|
-
|
|
769
|
+
Des tests Playwright sont disponibles dans `webfront/tests-e2e` :
|
|
742
770
|
|
|
743
771
|
```bash
|
|
744
|
-
|
|
772
|
+
cd webfront
|
|
773
|
+
npm run test:e2e
|
|
745
774
|
```
|
|
746
775
|
|
|
747
|
-
- Le script est interactif : il te demande la base URL, les emails/mots de passe à utiliser pour l’admin, l’utilisateur d’inscription et l’utilisateur invité.
|
|
748
|
-
- À chaque étape nécessitant une action sur l’email (clic sur `/verify-email?...`, `/reset-password/confirm?token=...`, `/invite/complete?...`), il affiche un message du type :
|
|
749
|
-
- `Attente de confirmation d’email… Ouvrez Maildev/Notifuse et cliquez sur le lien`, puis attend `ENTER`.
|
|
750
|
-
- Il envoie les en-têtes `Origin` nécessaires à la validation Same Origin.
|
|
751
|
-
|
|
752
776
|
### Client JS – `@obsidiane/auth-client-js`
|
|
753
777
|
|
|
754
778
|
* Consomme l’API (login, me, refresh, logout, register, reset password) depuis navigateur ou Node/SSR.
|
|
@@ -763,7 +787,8 @@ Un script Bash est fourni pour tester rapidement les principaux parcours (setup
|
|
|
763
787
|
|
|
764
788
|
## Bridge Meridiane
|
|
765
789
|
|
|
766
|
-
Un bridge Angular peut être généré depuis la spec OpenAPI (API Platform) via le Makefile racine
|
|
790
|
+
Un bridge Angular peut être généré depuis la spec OpenAPI (API Platform) via le Makefile racine.
|
|
791
|
+
Le core doit être lancé avec `API_DOCS_ENABLED=1` (spec sur `http://localhost:8000/api/docs.json`).
|
|
767
792
|
|
|
768
793
|
```bash
|
|
769
794
|
make bridge
|
|
Binary file
|