[Majeur] /admin/users inutilisable sans la permission InviteUser (Error 401) #151

Closed
opened 2026-10-28 10:32:26 +00:00 by asventi · 0 comments
Owner

Gravité : Majeur
Rapports QA d'origine : ADMIN-17

Le loader appelle /auth/invitation : un user HandleUsers sans InviteUser voit une page d'erreur.

Détails des rapports

[ADMIN-17] /admin/users inutilisable sans la permission InviteUser : "Error 401 Unauthorized" pour un user HandleUsers (ou HandleUsers+HandleRoles) — Gravité : Majeur
  • Où : /admin/users
  • Étapes : 1. User qa avec uniquement HandleUsers (ou HandleUsers+HandleRoles) 2. Le lien "Users" est bien affiché dans la sidebar, cliquer dessus / ouvrir /admin/users
  • Attendu : le tableau des users s'affiche (reset mot de passe, suppression, rôle) ; la section Invitations masquée ou vide sans InviteUser.
  • Obtenu : écran plein page "Error 401 Unauthorized – The server rejected the request." ; aucune liste. Avec HandleUsers+HandleRoles+InviteUser, la page s'affiche normalement (230 lignes). Donc HandleUsers ne suffit pas à administrer les users via l'UI.
  • Preuve : screens/admin_url_HandleUsers_users.png, screens/admin_users_page_Users_Roles.png ; requête en échec GET /api/auth/invitation -> 401 (script scripts/admin/t12.py).
  • Cause probable : frontend/src/admin/routes/Users.tsx:26-43 : le clientLoader appelle fetchInvitations() (endpoint [Roles(InviteUser)]) pour tout visiteur de la page ; son rejet fait tomber toute la route. Le lien est conditionné à HandleUsers seul (AdminSidebar.tsx:18).

Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes.

**Gravité :** Majeur **Rapports QA d'origine :** ADMIN-17 Le loader appelle `/auth/invitation` : un user HandleUsers sans InviteUser voit une page d'erreur. ## Détails des rapports <details><summary>[ADMIN-17] /admin/users inutilisable sans la permission InviteUser : "Error 401 Unauthorized" pour un user HandleUsers (ou HandleUsers+HandleRoles) — Gravité : Majeur</summary> - Où : /admin/users - Étapes : 1. User qa avec uniquement HandleUsers (ou HandleUsers+HandleRoles) 2. Le lien "Users" est bien affiché dans la sidebar, cliquer dessus / ouvrir /admin/users - Attendu : le tableau des users s'affiche (reset mot de passe, suppression, rôle) ; la section Invitations masquée ou vide sans InviteUser. - Obtenu : écran plein page "Error 401 Unauthorized – The server rejected the request." ; aucune liste. Avec HandleUsers+HandleRoles+InviteUser, la page s'affiche normalement (230 lignes). Donc HandleUsers ne suffit pas à administrer les users via l'UI. - Preuve : `screens/admin_url_HandleUsers_users.png`, `screens/admin_users_page_Users_Roles.png` ; requête en échec `GET /api/auth/invitation -> 401` (script `scripts/admin/t12.py`). - Cause probable : `frontend/src/admin/routes/Users.tsx:26-43` : le `clientLoader` appelle `fetchInvitations()` (endpoint `[Roles(InviteUser)]`) pour tout visiteur de la page ; son rejet fait tomber toute la route. Le lien est conditionné à HandleUsers seul (`AdminSidebar.tsx:18`). </details> --- _Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes._
dernst self-assigned this 2026-10-30 12:26:40 +00:00
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
Transcendence/frontend#151
No description provided.