-
Notifications
You must be signed in to change notification settings - Fork 58
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] Rendre le processus d'authentifcation OIDC plus résistant aux retours arrière (PIX-13945) #11905
Open
lego-technix
wants to merge
10
commits into
dev
Choose a base branch
from
pix-13945-harden-oidc-ui-workflow
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Une fois les applications déployées, elles seront accessibles via les liens suivants :
Les variables d'environnement seront accessibles via les liens suivants : |
aa0bb94
to
b551450
Compare
9f9077f
to
d947616
Compare
…ing OIDC user authentication
…istory back and reload i.e. 400 BadRequestError 'Required "state" is missing in session' This is when the user is already authenticated with the same OIDC Provider and performs a reload of the /connexion/:identity_provider_slug URL.
d947616
to
0465020
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🌸 Problème
Lorsque l’utilisateur s’authentifie auprès d'un SSO OIDC avec succès, il arrive sur la page d’accueil de PIX. Si l’utilisateur décide de cliquer sur le bouton précèdent de son navigateur alors plusieurs cas de figure problématiques peuvent se produire altérant le parcours utilisateur. Des problèmes peuvent aussi survenir lors de ces allers et retours si l’utilisateur fait des
CTRL + R
.🌳 Proposition
💡 Lorsque l'utilisateur est déjà authentifié auprès d'un SSO OIDC, passer outre l'authentification OIDC et rediriger l'utilisateur vers la route
authenticated
(route qui correspond à un utilisateur authentifié). Mais ne pas passer outre la ré-authentification OIDC obligatoire si l'utilisateur participe à une campagne d'une orga associée à un SSO particulier et que l'utilisateur n'est pas authentifié présentement auprès de ce SSO.ℹ️ Certains SSO refusent qu'on revienne en arrière sur leur page de connexion. Au niveau de Pix on ne peut rien y faire. En fait c'est même la bonne pratique en terme de sécurité. Par contre là où ces SSO pourraient s'améliorer, c'est en ayant alors une page avec une présentation et un texte plus adaptés aux utilisateurs finaux pour mieux expliquer le pourquoi.
🐝 Remarques
C'est uniquement le dernier des commits de cette PR qui met en place la proposition décrite. Tous les commits précédents sont des petits commits de refacto, d'amélioration sur des points rencontrés lors des investigations faites pour mettre en place la proposition de cette PR.
🤧 Pour tester
Tests simples sans campagne
Required cookie "state" is missing
ouRequired "state" is missing in session
et que le parcours utilisateur est logique et fluide.Tests complexes avec campagne
/campagnes/{CODE}
)dev
et tel que déployé en production. Donc si vous trouvez que le fonctionnement que vous rencontrerez dans cette partie est peu satisfaisant, faites les mêmes manipulations sur la recette pour comparer et valider qu'il y a /qu'il n'y a pas de régression.