Project

General

Profile

Development #60815

display_message_and_continue.html : empêcher les doubles clics

Added by Benjamin Dauvergne 4 months ago. Updated 4 months ago.

Status:
Fermé
Priority:
Normal
Category:
-
Target version:
-
Start date:
19 Jan 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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.


Files

Associated revisions

Revision 35bf68f9 (diff)
Added by Benjamin Dauvergne 4 months ago

misc: prevent double click in display_message_and_continue.html (#60815)

History

#2

Updated by Benjamin Dauvergne 4 months ago

  • Assignee set to Benjamin Dauvergne
#3

Updated by Benjamin Dauvergne 4 months ago

#4

Updated by Thomas Noël 4 months ago

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 ?
#5

Updated by Benjamin Dauvergne 4 months ago

  • Status changed from Solution proposée to 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.

#7

Updated by Thomas Noël 4 months ago

  • Status changed from Solution proposée to 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 !

#8

Updated by Benjamin Dauvergne 4 months ago

  • Status changed from Solution validée to 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)
#9

Updated by Frédéric Péters 4 months ago

  • Status changed from Résolu (à déployer) to Solution déployée
#10

Updated by Transition automatique 2 months ago

Automatic expiration

Also available in: Atom PDF