Skip to content

🐛 [BUG] - La connexion server-nestjs ne renvoie pas les rôles admin dérivés des groupes OIDC #2835

Description

@shikanime

Comportement attendu

GET /api/v1/auth renvoie adminRoleIds = union dédupliquée (persistés ∪ rôles dont l'oidcGroup est dans les groupes du jeton), sans écriture en base à la connexion — le reconciler Keycloak reste propriétaire de la persistance.

  • validatePayload expose l'union dédupliquée dans le contexte d'authentification
  • Les gardes User et Project propagent adminRoleIds sur la requête
  • GET /api/v1/auth renvoie l'union dans la charge utile (parité logViaSession)
  • Aucune persistance de l'union à la connexion
  • Specs alignées (keycloak-jwt service, contrôleur auth, garde user)

Comportement observé

Depuis la bascule de GET /api/v1/auth vers server-nestjs (cef4b7c), la charge utile de session ne contient plus les rôles admin dérivés des groupes OIDC. AuthController.auth renvoie la ligne brute de la base (adminRoleIds persistés seuls), alors que le legacy logViaSession fusionnait persistés ∪ rôles matchés par oidcGroup dans la réponse — sans jamais persister cette union.

Preuve (préviews du 2026-10-08, même identité Keycloak, même session_state) :

  • pile pr-2782 (auth servie par server-nestjs) : adminRoleIds: []
  • pile pr-2816 (auth encore servie par le legacy) : adminRoleIds: ["034f589f-…","76229c96-…"]

Impact et environnement

  • Le client (stores/user.ts) calcule myAdminRoles puis adminPerms depuis adminRoleIds : un administrateur par groupe OIDC (ex. /admin) perd tout le gating d'UI admin.
  • L'autorisation serveur n'est pas affectée : adminPermissions est recalculé à chaque requête depuis groupes ∪ persistés ∪ globaux.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions