-
Notifications
You must be signed in to change notification settings - Fork 56
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] Créer une fonction de révocation des accès utilisateurs (PIX-15947) #11270
[FEATURE] Créer une fonction de révocation des accès utilisateurs (PIX-15947) #11270
Conversation
Une fois les applications déployées, elles seront accessibles via les liens suivants :
Les variables d'environnement seront accessibles via les liens suivants : |
ddcfc43
to
3f62d1c
Compare
3f62d1c
to
60e3310
Compare
...src/identity-access-management/infrastructure/repositories/revoked-user-access.repository.js
Outdated
Show resolved
Hide resolved
60e3310
to
13d8c10
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Lu et testé fonctionnellement avec succès avec Firefox 🦊
13d8c10
to
6fd8966
Compare
J'ai peu suivi le sujet hier. Mais de ce que je comprends, le code ne fait pas ce que dit le titre du ticket. On ne revoke pas ici un AT. On check si il est déjà révoqué 🤔 |
Effectivement les AT ne sont pas exactement révoqués, mais on stocke dans Redis l'information (récupérée dans le modèle |
Je vais renommer le titre de la PR et du ticket pour que cela soit plus en phase avec ce qui est effectivement fait 👍 |
6fd8966
to
51a3c0c
Compare
51a3c0c
to
191b23a
Compare
Une fois les applications déployées, elles seront accessibles via les liens suivants :
Les variables d'environnement seront accessibles via les liens suivants : |
191b23a
to
153484c
Compare
Une fois les applications déployées, elles seront accessibles via les liens suivants :
Les variables d'environnement seront accessibles via les liens suivants : |
153484c
to
c4183a4
Compare
🥞 Problème
Créer une fonction de révocation des accès utilisateurs.
🥓 Proposition
Utiliser une logique basée sur le fait que les tokens JWT contiennent les attributs user_id et iat (issued at) et stocker dans Redis, en durée limitée, des couples userId - revokeTokensFromUserBeforeDate qui permettent de refuser tout AC qui correspondrait à la condition :
accessToken.user_id == revokeTokensFromUserId && accessToken.issuedAt < revokeTokensFromUserBeforeDate
🧃 Remarques
Le fichier authentication sera remanié ultérieurement pour séparer les logiques de usecase et de controller
😋 Pour tester
-- se connecter avec un utilisateur de votre choix
--Dans redis placer la clé/valeur suivante :
"set" "temporary-storage:revoked-user-access:uuuuu" "dddddddddd" "ex" "1739808582"
en remplaçant uuuuu par le userId de votre utilisateur connecté et dddddddddd par un timestamp en secondes, postérieur à la date de connection
-- Naviguer dans l'espace Pix App de votre utilisateur
-- Constater que les appels à l'api renvoient des 200
--Tenter une navigation dans votre espace
-- constater que vous êtes déconnecté et que vous ne pouvez pas vous reconnecter
--Modifier la clé/valeur de Redis :
"set" "temporary-storage:revoked-user-access:uuuuu" "dddddddddd" "ex" "1739808582"
en remplaçant uuuuu par le userId de votre utilisateur et dddddddddd par un timestamp en secondes, antérieur à la date de connection
--Constater que vous pouvez vous reconnecter sur ce compte