Skip to content

feat(auth): router la connexion GET /api/v1/auth vers server-nestjs - #2824

Merged
shikanime merged 1 commit into
mainfrom
feat/auth-route-nestjs
Oct 6, 2026
Merged

shikanime merged 1 commit into
mainfrom
feat/auth-route-nestjs

Conversation

@shikanime

@shikanime shikanime commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Pourquoi

La connexion GET /api/v1/auth doit être servie par server-nestjs dans le cadre du strangler, avec le chemin contractuel exact (cf. #2225).

Quoi

  • nouveau module modules/auth : AuthController (@Controller('api/v1/auth') + @Get()), AuthUserService (lookup prisma), AuthModule câblé dans MainModule
  • KeycloakJwtService : l'utilisateur local est assuré via prisma.user.upsert, avec resynchronisation de email/firstName/lastName depuis le jeton à chaque connexion
  • le point d'entrée est couvert par le test de délégation du contrôleur

Références

Issue numéro: #2225

@shikanime shikanime added the refactor Refactor code label Oct 6, 2026
@shikanime shikanime self-assigned this Oct 6, 2026
@shikanime shikanime added this to the 9.27.0 milestone Oct 6, 2026
@github-actions github-actions Bot added the built label Oct 6, 2026
@shikanime
shikanime marked this pull request as ready for review October 6, 2026 10:16
@shikanime
shikanime requested a review from a team as a code owner October 6, 2026 10:16
@shikanime
shikanime marked this pull request as draft October 6, 2026 10:21
@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch 2 times, most recently from 9fccf56 to 016104b Compare October 6, 2026 11:18
@shikanime
shikanime added this pull request to stack #2827 October 6, 2026 11:24
@shikanime
shikanime marked this pull request as ready for review October 6, 2026 11:24
Comment thread apps/server-nestjs/src/modules/user/user.controller.ts Outdated

@StephaneTrebel StephaneTrebel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L’authentification et la création au premier login sont correctement réutilisées, mais le chemin réellement décoré ne correspond pas au contrat. La route publique /api/v1/auth doit être enregistrée et testée en HTTP avant toute bascule.

@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch 2 times, most recently from 4acdf6b to f1c77c8 Compare October 6, 2026 13:28
@shikanime shikanime changed the title feat(user): router la connexion GET /api/v1/auth vers server-nestjs feat(auth): router la connexion GET /api/v1/auth vers server-nestjs Oct 6, 2026
@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch from f1c77c8 to a094468 Compare October 6, 2026 13:32

@StephaneTrebel StephaneTrebel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je demande des changements : le ledger #2225 reste incomplet, la bascule de trafic et la parité de la réponse ne sont pas couvertes. Les contrôles CI consultés sont encore en cours (analyse qualité et build NestJS).

Comment thread apps/server-nestjs/src/main.module.ts
Comment thread apps/server-nestjs/src/modules/auth/auth.controller.ts
@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch 2 times, most recently from 86b4b45 to 959789d Compare October 6, 2026 13:49
@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch from 959789d to 532c55f Compare October 6, 2026 13:55
@shikanime

Copy link
Copy Markdown
Member Author

Alignement logViaSession effectué (532c55f6) :

  • user.upsert resynchronise email/firstName/lastName depuis le jeton à chaque connexion
  • adminRoleIds persistés = rôles existants en base ∪ rôles OIDC actifs ; les rôles globaux ne sont plus persistés, ils ne contribuent qu'au bitmask adminPermissions
  • couverture : tests existants mis à jour (rôle stale conservé, rôle global absent de adminRoleIds, resynchronisation des champs)

@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch from 532c55f to 4b38b14 Compare October 6, 2026 13:56
@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch 2 times, most recently from 06427d9 to 8b37aaa Compare October 6, 2026 14:33
@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch 4 times, most recently from 2bf8cbf to 0b9f921 Compare October 6, 2026 14:38

@StephaneTrebel StephaneTrebel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La création au premier login renseigne maintenant lastLogin, mais la parité des rôles n’est pas encore assurée : certains rôles historiques sont omis du bitmask et les IDs OIDC ne sont pas dans la réponse UserSchema. Aucun contrôle CI n’est encore remonté pour ce head.

Comment thread apps/server-nestjs/src/modules/auth/auth.controller.ts
@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch from 0b9f921 to e85d689 Compare October 6, 2026 14:38

@StephaneTrebel StephaneTrebel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Réexamen du head e85d689 : les derniers changements n’ont pas corrigé les deux constats inline déjà postés (rôles OIDC managed omis du calcul et IDs OIDC absents de la réponse). Je maintiens la demande de changements; les checks de ce head sont encore pending.

@shikanime shikanime added the preview Deploy preview app with Argo-cd label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

🤖 Hey !

A preview of the application is available at : https://console-pr-2824.dso.cpin-hp.numerique-interieur.fr

Please be patient, deployment may take a few minutes.

@StephaneTrebel
StephaneTrebel self-requested a review October 6, 2026 14:41
StephaneTrebel
StephaneTrebel previously approved these changes Oct 6, 2026
@shikanime
shikanime force-pushed the feat/auth-route-nestjs branch 9 times, most recently from f169b64 to f6af9b6 Compare October 6, 2026 14:55
Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: Idbbc93d3f6cd15491a7958f4c39aa8576a6a6964
@cloud-pi-native-sonarqube

Copy link
Copy Markdown

@StephaneTrebel StephaneTrebel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Les corrections de lastLogin et du filtrage des rôles historiques managed répondent aux précédents constats; les contrôles CI sont au vert. Je maintiens la demande de changements sur l’écart explicite de adminRoleIds dans la réponse, décrit dans le thread inline et toujours exigé par #2225.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

built preview Deploy preview app with Argo-cd refactor Refactor code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[NestJS] Porter la route GET /api/v1/auth depuis le serveur Fastify vers server-nestjs

2 participants