L'Identity Hub est le service d'identité partagé : comptes, connexions, organisations,
rôles/permissions (RBAC) et administration. C'est lui qui émet le JWT accepté par tous
les modules.
- Base URL — prod :
https://identity.puwapi.com · dev : http://localhost:5029
Authentification (/auth)¶
Voir aussi Authentification (JWT Identity Hub).
| Méthode | Route | Rôle |
|---|
| POST | /auth/register | Créer un compte |
| POST | /auth/login | Se connecter |
| POST | /auth/confirm-email, /auth/resend-confirmation | Confirmation d'e-mail |
| POST | /auth/forgot-password, /auth/reset-password | Mot de passe |
| POST | /auth/refresh | Rafraîchir le jeton |
| POST | /auth/logout | Déconnexion (révocation) |
| GET | /auth/me | Profil courant |
| POST | /auth/internal/* | Ponts internes (oauth-sync, login, register, refresh) |
Organisations (/orgs)¶
| Méthode | Route | Rôle |
|---|
| GET | /orgs | Mes organisations |
| POST | /orgs | Créer |
| POST | /orgs/{id}/switch | Basculer d'organisation |
| GET | /orgs/{id}/members | Membres |
| POST | /orgs/{id}/invite, GET /orgs/{id}/invites | Invitations |
| DELETE | /orgs/{id}/invites/{inviteId} | Retirer une invitation |
| PATCH | /orgs/{id}/members/{userId}/role | Changer le rôle d'un membre |
| DELETE | /orgs/{id}/members/{userId} | Retirer un membre |
| GET | /orgs/my-invites, GET /orgs/invites/{token} | Mes invitations reçues |
| POST | /orgs/invites/accept, /orgs/invites/{inviteId}/accept | Accepter |
Utilisateur (/users)¶
| Méthode | Route |
|---|
| GET/PUT | /users/me |
| GET | /users/me/sessions |
| DELETE | /users/me/sessions/{id} |
RBAC (/rbac)¶
| Méthode | Route | Rôle |
|---|
| GET | /rbac/permissions | Permissions disponibles |
| GET/POST | /rbac/roles | Rôles |
| PUT | /rbac/roles/{roleId}/permissions | Permissions d'un rôle |
| DELETE | /rbac/roles/{roleId} | Supprimer un rôle |
| GET | /rbac/members | Membres et rôles |
| PUT | /rbac/members/{userId}/roles | Rôles d'un membre |
Réservée aux administrateurs plateforme : gestion des utilisateurs, sessions, organisations,
rôles, audit, statistiques, e-mail de diffusion (POST /admin/broadcast-email). Exemples :
/admin/users, /admin/organizations, /admin/sessions, /admin/audit,
/admin/stats/overview, /admin/stats/signups.
Notes¶
- Identité unique : le JWT émis ici est signé par un secret HMAC partagé et accepté par
tous les services. La révocation est vérifiée via un Redis commun.
- Les tables Better Auth vivent dans la base
puwapi_identity.