Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Conditionner la validation des AT utilisateurs en comparant l’aud des AT utilisateurs à la forwardedOrigin (PIX-15944) #11208

Open
wants to merge 9 commits into
base: dev
Choose a base branch
from

Conversation

lego-technix
Copy link
Contributor

@lego-technix lego-technix commented Jan 23, 2025

🥞 Problème

C'est la suite de #11207

Maintenant que chaque Access Token utilisateur est porteur d'une audience (enregistrée dans le JWT avec la propriété aud), on peut vérifier, au niveau de la couche applicative, que cette audience légitime correspond bien au frontal auquel l'Access Token est envoyé.

🥓 Proposition

Mettre en place, au niveau de la couche applicative, un mécanisme de vérification vérifiant que l’aud de chaque Access Token utilisateur correspond bien au frontal auquel l'Access Token est envoyé.

Cette PR active le Feature Toggle (FT) FT_USER_TOKEN_AUD_CONFINEMENT_ENABLED pour tous les tests, de manière à valider que le dispositif mis en place est bien fonctionnel dans tous les cas et qu’aucune régression dans son fonctionnement ne puisse arriver avant l'activation définitive et non-optionnelle du mécanisme de vérification de l’audience.

Mais cette PR n'active pas encore la vérification que l’aud de chaque Access Token utilisateur. Pour cela il faut toujours activer le FT de la manière suivante :

FT_USER_TOKEN_AUD_CONFINEMENT_ENABLED=true

🧃 Remarques

⚠️ Cette PR est fonctionnelle sans la PR #11207, mais pour finaliser cette PR-ci il faut attendre que la PR #11207 soit mergée et il faudra accomplir quelques petites actions.

Une fois que #11207 est mergée :

  1. Rebaser cette PR-ci sur dev
  2. Drop le commit feat(api): mark anonymous Access Tokens as such to temporary exlcude them from audience validation
  3. Modifier le commit feat(api): validate audience of non-anonymous user Access Tokens en enlevant la condition !decodedAccessToken.anonymous

😋 Pour tester

Faire les tests fonctionnels avec le FT activé :

FT_USER_TOKEN_AUD_CONFINEMENT_ENABLED=true

@pix-bot-github
Copy link

Une fois les applications déployées, elles seront accessibles via les liens suivants :

Les variables d'environnement seront accessibles via les liens suivants :

@lego-technix lego-technix requested review from a team as code owners January 23, 2025 16:19
@lego-technix lego-technix force-pushed the pix-15944-check-audience-in-AT-for-authentication branch 3 times, most recently from a63456b to abd68e6 Compare January 25, 2025 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants