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] Utiliser le scope dans les refresh tokens (PIX-13911) #10039

Merged
merged 7 commits into from
Sep 6, 2024

Conversation

bpetetot
Copy link
Contributor

@bpetetot bpetetot commented Sep 3, 2024

🦄 Problème

Actuellement, les refresh token sont réutilisables entre les différentes applications pour renouveler des access tokens. On ne peut pas avoir de durée (TTL) des refresh token différents par application.

🤖 Proposition

Utiliser le scope pour restreindre les refresh token par application.

Dans une autre PR, nous pourrons définir des durées de vie différentes des refresh token par application.

Important

Pour le moment le scope est envoyé uniquement dans la requête d'authentification. Il n'est jamais passé dans la requête de refresh token. De plus, la requête de refresh de token ne peut pas être modifiée ou surchargée dans ember-simple-auth sans recoder toute la logique de refresh de token dans l'authenticator. Nous avons créé une PR sur ember-simple-auth pour corriger ce problème.

Note

2 petits refactoring on été inclus afin d'utiliser le modèle User pour récupérer les informations shouldChangePassword et passwordHash. Ces informations n'étaient pas correctement récupérées, elles prenaient toujours la première méthode d'authentication (sans distinction du provider PIX).

💯 Pour tester

Pour chaque application (Pix App, Pix Admin, Pix Certif, Pix Orga)

  1. Se connecter à l'application

Dans le local storage, vérifier que le refresh token généré contient le scope:
<user_id>:<scope>:<uuid>

  1. Dans le local storage, modifier l'expiration de l'access token (expires_at) en mettant un timestamp dans le passé, par exemple 1725372008161

L'access token doit changer dans le local storage.

@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 :

@bpetetot bpetetot force-pushed the pix-13911-apply-scope-in-refresh-token branch 8 times, most recently from 2e36796 to b345e28 Compare September 3, 2024 15:54
@bpetetot bpetetot self-assigned this Sep 4, 2024
@bpetetot bpetetot force-pushed the pix-13911-apply-scope-in-refresh-token branch from b345e28 to ce3ea6d Compare September 4, 2024 13:26
@bpetetot bpetetot marked this pull request as ready for review September 4, 2024 13:31
@bpetetot bpetetot requested a review from a team as a code owner September 4, 2024 13:31
@er-lim er-lim self-requested a review September 5, 2024 06:55
Copy link
Contributor

@er-lim er-lim left a comment

Choose a reason for hiding this comment

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

Tests en RA avec Firefox sur les 4 applications ✅
J'attends une réponse à un commentaire avant de mettre la coche 😄

Copy link
Contributor

@EmmanuelleBonnemay EmmanuelleBonnemay left a comment

Choose a reason for hiding this comment

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

lu et testé avec succès sur les quatre scopes

@bpetetot bpetetot force-pushed the pix-13911-apply-scope-in-refresh-token branch from 17638f8 to fe8e4c1 Compare September 6, 2024 07:45
@bpetetot bpetetot enabled auto-merge (squash) September 6, 2024 07:45
@bpetetot bpetetot force-pushed the pix-13911-apply-scope-in-refresh-token branch from fe8e4c1 to f24a568 Compare September 6, 2024 07:52
@bpetetot bpetetot merged commit 297742c into dev Sep 6, 2024
5 of 7 checks passed
@bpetetot bpetetot deleted the pix-13911-apply-scope-in-refresh-token branch September 6, 2024 07:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Func Review OK PO validated functionally the PR team-acces Tech Review OK
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants