Skip to content

fix(security): enable DPoP support on the resource server - #699

Merged
ddecrulle merged 1 commit into
mainfrom
fix/enable-dpop
Nov 4, 2026
Merged

ddecrulle merged 1 commit into
mainfrom
fix/enable-dpop

Conversation

@ddecrulle

Copy link
Copy Markdown
Member

Problème

Depuis le passage à Spring Boot 4 (#636), toutes les routes authentifiées renvoient 401 : Onyxia web envoie des tokens DPoP (Authorization: DPoP <token>).

  • Spring Security 6.5 (Boot 3.5) activait le support DPoP automatiquement dans oauth2ResourceServer().
  • Spring Security 7.1 (Boot 4.1) ne l'active plus que si on appelle .dPoP(...).

Sans ce support, le schéma DPoP n'est pas reconnu, aucun token n'est trouvé et la requête est rejetée.

Correctif

Ajout de .dPoP(Customizer.withDefaults()) dans OIDCConfiguration, ce qui rétablit le comportement d'avant Boot 4. Les tokens Bearer restent acceptés : DPoP n'est pas rendu obligatoire.

Vérification

  • Compile, spotless:check OK
  • À valider en déploiement avec un token DPoP (vérification htu de la preuve derrière l'ingress)

🤖 Generated with Claude Code

Spring Security 6.5 enabled DPoP automatically on oauth2ResourceServer;
Spring Security 7 (Spring Boot 4) requires opting in with .dPoP().
Without it, requests sent with "Authorization: DPoP <token>" by Onyxia
web are rejected with 401.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Nov 4, 2026

Copy link
Copy Markdown

@ddecrulle
ddecrulle merged commit 10d71e7 into main Nov 4, 2026
9 checks passed
@ddecrulle
ddecrulle deleted the fix/enable-dpop branch November 4, 2026 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant