Development #60815
display_message_and_continue.html : empêcher les doubles clics
0%
Description
Le lien continue peut parfois pointer sur une URL de retour de SSO SAML "Artifact", l'URL n'est généralement utilisable qu'une fois (le cas est possible aussi pour OpenIDConnect), un double click est donc problématique sauf si le fournisseur de service sait rejouer le SSO dans ce cas (django-mellon implémente cette solution), w.c.s n'est pas dans ce cas.
Il est donc possible pour un utilisateur de double cliquer mais plus fréquemment encore le click de l'utilisateur se mélange avec l'auto-click effectué en JS, il faut bloquer ces deux possibilités.
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Fichier 0001-misc-prevent-double-click-in-displau_message_and_con.patch 0001-misc-prevent-double-click-in-displau_message_and_con.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a plus de 2 ans
- je comprends que on clique à la main, alors le javascript ne va pas cliquer
- mais je ne vois pas comment l'inverse est évité : si javascript clique, qu'est-ce qui évite un clic manuel ?
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à En cours
Thomas Noël a écrit :
Je ne suis pas assez calé sur le sujet, alors je pose la question :
- je comprends que on clique à la main, alors le javascript ne va pas cliquer
- mais je ne vois pas comment l'inverse est évité : si javascript clique, qu'est-ce qui évite un clic manuel ?
Rien c'est vrai, mais je n'ai pas trouvé de solution pour ne pas laisser les usagers dans une situation bancale si je bloque les cliques. Le problème ce serait : tu cliques tu appuies sur ESC pour arrêter le chargement et pim le lien ne marche plus, sans raison apparente. Je n'ai pas trouvé de moyen de savoir que le chargement en cours avait échoué ou avait était arrêté volontairement. Dans la mesure où c'est surtout les doubles cliques invisibles du au JS qu'on a identifié comme problématique, je laisserai le double clique usager vivre sa vie.
PS: je vais bloquer le clic dans tous les cas et je vais ajouter un timer pour ne pas bloquer le re-clic pendant 3 secondes.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Fichier 0001-misc-prevent-double-click-in-display_message_and_con.patch 0001-misc-prevent-double-click-in-display_message_and_con.patch ajouté
- Statut changé de En cours à Solution proposée
Mis à jour par Thomas Noël il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Je ne sais pas s'il y a des fonctions moins tordues de faire ça, mais vu qu'on est sur le web, on va dire que c'est la seule façon de faire (la bonne et la pire, donc). Go !
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 35bf68f922c6abc1654ea31fc60bdc0166eca4f0 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed Jan 19 13:13:52 2022 +0100 misc: prevent double click in display_message_and_continue.html (#60815)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: prevent double click in display_message_and_continue.html (#60815)