Reset à la première connexion

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Reset à la première connexion

    Bonjour,
    Quelqu'un a t il déjà eu ce cas de figure.
    Mais adhérents doivent réinitialiser leur mot de passe à la première connexion.
    Depuis Joomla4 lorsqu'ils essayent de se connecter par le module la page de réinitialisation ne s'affiche pas. Il faut cliquer sur n’importe quel lien pour voir celle-ci s'afficher.

  • #2
    Bonjour,

    Tu peux expliquer de façon détaillé ou confirmer car si j'ai bien compris

    - Tu as des adhérents donc des membres enregistrés sur ton site.
    - Le site vient de migrer sous Joomla 4
    - Le problème vient du lien de réinitialisation qui ne fonctionne pas depuis le module.

    Perso, j'ai déjà procédé de la façon suivante :

    - Importation des comptes utilisateurs avec mot de passe personnalisés, j'ai du me connecter dans la table afin de reinitialiser la date de connexion (date null)
    J'ai envoyé un mail à chaque membre avec un mot de passe que j'ai généré et encodé. J'ai utilisé un autologin pour que le lien permettent de se connecter directement.

    - A la connexion (donc en autologin), si la date est "null", j'oblige à changer le mot de passe en redirigeant sur le formulaire

    - J'ai volontairement limité cette action dans le temps en effectuant une relance automatique à ceux qui ne serait pas connecté et en indiquant une date limite. Passé ce délai, le compte sera desactivé puis supprimé.

    Pour les mails, j'utilise acymailing et le plugin autologin, les solutions de tassos marinos (convert forms et engagebox) permettent de créer des formulaires ou des popups personnalisés;

    Les conseils :

    - ne pas oublier de créer des liens de menus pour les différentes pages comme la page de réinitialisation. Pour cela, on créé un menu que l'on nomme "hidden" ou menu caché puis on créé ces liens de menu qui pourront être utilisé pour assigner les modules, templates et rediriger correctement et surtout de pouvoir les gérer.



    - Le module de connexion permet de préciser le lien de menu d'inscription mais le principal c'est déjà d'avoir des liens de menu définis et unique.

    Des plugins existent pour forcer le changement de mot de passe comme :
    With this plugin you can set a time validity for the passwords of your registered users. For example, if you set 30 days, every registered user can navigate in the website for 30 days from his last password reset (or from his register date).

    mais nativement on peut forcer un groupe d'utilisateur (par exemple membres enregistrés) à changer de mot de passe depuis la gestion des utilisateurs (selectionner les utilisateurs puis menu "action" > traiter > cocher oui à "Forcer la réinitialisation du mot de passe" ).

    En résumé, bien définir les liens vers les pages comme la page d'inscription, la page de "mot de passe oublié" ou modification de profil...
    Quand on travaille par défaut depuis un site vierge, on oublie facilement de les définir ces liens de menu même si on utilise pas la gestion de membres.
    Puis soit on oblige la réinitialisation du mot de passe avec la selection native en masse, soit on utilise une ou plusieurs extensions tierces.

    Les membres du site que j'ai évoqué ne sont pas habitués à changer de mot de passe ou d'avoir une authentification forte d'où la nécessité de simplifier la démarche.
    Depuis, l'authentification se fait désormais en multifacteur avec un développement spécifique ( mot de passe + sms ou validation via application smartphone spécifique ).


    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

    Commentaire


    • #3
      Bonjour Daneel,
      merci pour toute ces précisions.
      Pour ma part j'ai une appli externe qui actualise directement dans la table _user de joomla avec des mots de passe temporaires.
      Simplement les utilisateurs doivent renseigner ce mot de passe à la première connexion puis le remplacer. Cela fonctionne très bien si je créé un bouton de connexion dans le menu.
      Mais s'ils passent par le module la redirection vers la page d'initialisation ne se fait pas.
      Une idée?

      Commentaire


      • #4
        Envoyé par Slushgood Voir le message
        Mais s'ils passent par le module la redirection vers la page d'initialisation ne se fait pas.
        Une idée?
        La solution que j'ai trouvé, c'est de faire apparaître une popup obligeant à changer le mot de passe pour les premieres connexion via l'extension engagebox pour Joomla.
        Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

        Commentaire


        • #5
          Ok merci.
          Mais du coup le plus simple serait de corriger ce Bugg sur Joomla du coup :-)
          Si cela est bien un bugg !

          Commentaire


          • #6
            Envoyé par Slushgood Voir le message
            Ok merci.
            Mais du coup le plus simple serait de corriger ce Bugg sur Joomla du coup :-)
            Si cela est bien un bugg !
            Quel Bug ? Sauf avoir renseigné dans les paramètres, le module ne redirige pas.
            De toute façon, tu ne vas pas rediriger à chaque fois que l'on se connecte, pour moi il n'y a pas d'erreur ou j'ai mal compris tes propos ?

            Savoir si l'utilisateur doit changer son mot de passe se fait après l'authentification donc la solution étant de faire une detection
            si connecté et que c'est la premiere fois (par rapport à la date de connexion) alors afficher popup ou rediriger sur changement de mot de passe.
            Il existe également des plugins pour forcer à changer de mot de passe et d'autres conditions donc normalement tu devrais pouvoir t'en sortir sans le gestionnaire de popup.
            Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

            Commentaire


            • #7
              Avec Joomla3, si l'utilisateur doit réinitialiser son mot de passe le module redirige automatiquement sur la page de modification du profile.
              Avec Joomla4 ça ne le fait pas automatiquement. Il redirige sur la page d'accueil et ensuite si tu clique sur n’importe quel lien du menu il te redirige vers la page de modification du profile.
              C'est pour cela que je pense qu'il y a un bugg

              Commentaire


              • #8
                Bonsoir,

                Réinitialiser le mot de passe depuis le module, on ne doit pas parler de la même chose car la fonction n'est pas "explicitement" écrit, donc comme je ne comprends pas, je vais prendre exemple pas à pas sur un joomla par défaut (donc sans extension tierce).

                1. Dans le module d'authentification, sans être authentifié : Quand on clique sur "Mot de passe perdu ?" du module, celui-ci renvoi vers la page "remind" afin que l'utilisateur se prépare à réinitialiser son mot de passe. En effet, le mot de passe encrypté dans joomla n'étant pas lisible pour des raisons de sécurité, il ne peut être dévoilé, on doit donc confirmer l'identité par mail avant d'écraser le mot de passe. Cette page est une page intermédiaire.



                Comme je l'ai indiqué, il est conseillé de définir cette page dans un lien de menu (même un menu caché) afin d'avoir une url correcte et de pouvoir définir les modules et template assignés.



                2. Une fois l'adresse e-mail défini puis transmise, Un jeton (ou token) est généré puis envoyé par mail avec un lien. C'est un code temporaire pour valider la demande de réinitialisation.

                L'url contenu dans ce mail comprend le token et le lien vers la page de réinitialisation, ce qui évite de le ressaisir donc à aucun moment, la réinitialisation demande à cliquer à nouveau sur le module après avoir reçu le mail.

                Evidemment la réinitialisation ne demande pas non plus à s'authentifier vu que le token joue son rôle de vérification temporaire. L'erreur serait de mettre le lien de menu pour les utilisateurs authentifiés ce qui ne permet pas d’accéder à la page donc d'aboutir à la réinitialisation du mot de passe. Le but étant la réinitialisation sans avoir à saisir l'ancien mot de passe !

                Que ce soit sous joomla 3 ou joomla 4, la procédure reste la même avec l'obligation d'indiquer le mail pour recevoir le token et l'url vers la page de réinitialisation. Pas d'authentification, pas besoin du module donc assigné à cette page.

                3. Donc on arrive sur la page de réinitialisation et on définit le nouveau mot de passe.

                Voilà, la démarche s'arrête là !

                4. Si on s'authentifie, le module de connexion remplace le formulaire par un bouton de deconnexion.
                Il n'y a redirection que si on définit une redirection dans les paramètres du module mais elle serait systématique à chaque connexion. Cela n'est utile que si le site dispose d'une page membre avec un contenu spécifique et personnalisé (on peut utiliser des modules qui reconnaissent et utilisent les éléments liés à l'utilisateur comme son identifiant, son nom, les articles auteur ou les champs personnalisés de son profil.)

                Si l'utilisateur authentifié souhaite changer son mot de passe, il suffit qu'il choisisse le lien vers son profil (Avec le contenu d'exemple de Joomla, c'est bien un lien de menu utilisateur qui est défini) si celui-ci est accessible. A l'inverse Le même lien vers le profil sans être authentifié amènera vers la page de connexion.

                5. Une chose intéressante à savoir, c'est que l'on peut désormais obliger à changer de mot de passe car l'édition du profil en backend inclus désormais un champ permettant d'indiquer de changer de mot de passe à la prochaine connexion donc si tu le fais en base de données, tu peux attribuer ce champs aux utilisateurs qui ne sont pas encore authentifiés. Cela inclus le nombre et la date de la dernière réinitialisation, ce qui permet bien des opérations comme par exemple obliger à changer de mot de passe tous les 60 jours.



                J'ai testé le paramètre et cela fonctionne car si on insiste pour ne pas le faire, on est obligé ! De plus, on ne peut pas utiliser l'ancien mot de passe, ce qui peut s'avérer pratique si on souhaite augmenter le niveau de sécurité en exigeant des mots de passe plus difficile à déchiffrer. A noter que le superutilisateur ne pourra pas recevoir de mail avec token pour des raisons de sécurité donc l'administrateur du site ne peut rappeler son mot de passe perdu mais il peut acceder de façon différente dont notamment en base de données.

                Dans tous les cas de figure, je ne vois pas de bug... Après je veux bien connaître ta démarche pas à pas pour mieux comprendre ce que tu évoque.



                Anecdote : Sur l'un des projets en cours, j'ai décidé de changer le module d'authentification par des éléments plus explicite quand on se connecte dont notamment un lien vers le profil personnalisé, un "bonjour" ou "bonsoir" suivant l'heure de connexion et un résumé affichant la date des dernières connexion.

                Un avatar depuis un champ personnalisé mais ce serait réservé destiné aux utilisateurs qui souhaite le faire ( ex. : auteur ou membre ayant certaines pages perso à gérer ). Bien évidemment, tout reste natif ! C'est juste un relookage et une petite évolution du module ! Je présenterai le code sur le forum (site prévu en fin d'année). Comme pour le module natif, si l'utilisateur doit changer de mot de passe, il faut qu'il clique sur son profil.





                Dernière édition par daneel à 23/11/2022, 07h44
                Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                Commentaire


                • #9
                  OK.
                  Pour ma part ce n'est pas cette procédure.
                  Je remplis via sql l'identifiant et le mot de passe de l'adhérent, et j'active la nécessité de réinitialiser le mot de passe. De ce fait lorsqu'il s’identifie la première fois (en Joomla3) il était redirigé automatiquement sur la page layout=edit qui lui demandé de changer le mot de passe et renseigner sont adresse mail. C'est ce qui ne fonctionne plus depuis Joomla4. Enfin cela ne fonctionne pas correctement puisque l'identification fonctionne bien mais la redirection n'est pas direct. Celle-ci renvois sur la page d'accueil. Ensuite en cliquant sur n’importe quel bouton de la barre de menu là la redirection fonctionne. Mais ce problème existe uniquement en s'identifiant par le module de connexion, non par le bouton de menu connexion.

                  Commentaire


                  • #10
                    est-ce que quelqu'un a pu vérifier cela ?

                    Commentaire


                    • #11
                      Je comprends mieux.

                      En fait, je n'arrive pas à reproduire ton erreur car si effectivement les personnes s'identifient, le fait de forcer le changement de mot de passe va les rediriger automatiquement sur la page de leur profil après authentification. Cela fonctionne sous Joomla 4 sans problème (du moins sur ce que j'ai pu testé).

                      Après je n'ai testé effectivement qu'en indiquant en backend le changement de mot de passe...
                      il est peut être nécessaire d'aller voir dans ta requête sql de la table user ( requireReset=1 ) car je ne vois que cette différence.
                      Dernière édition par daneel à 24/11/2022, 14h01
                      Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                      Commentaire


                      • #12
                        Après vérification, j'ai donc été dans la base de données puis modifié la valeur "requireReset" à 1 de l'utilisateur enregistré en tant que membre.

                        Puis je me suis connecté en front avec le mot de passe et je suis bien redirigé et forcé de changer de mot de passe donc pas d'erreurs.
                        Dernière édition par daneel à 24/11/2022, 15h39
                        Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                        Commentaire


                        • #13
                          Bonjour Daneel,
                          si il y a bien un bug dans Joomla. je l'ai remonté et c'est en attente.
                          Discussed in #39282 Originally posted by Mika17420 November 22, 2022 if a user connects via the module and if joomla params for reset password on first login. There is no redirect to the layout=edi...

                          Commentaire


                          • #14
                            Envoyé par daneel Voir le message
                            Après vérification, j'ai donc été dans la base de données puis modifié la valeur "requireReset" à 1 de l'utilisateur enregistré en tant que membre.

                            Puis je me suis connecté en front avec le mot de passe et je suis bien redirigé et forcé de changer de mot de passe donc pas d'erreurs.
                            L'as tu fais via le module ?

                            Commentaire


                            • #15
                              Envoyé par Slushgood Voir le message
                              Bonjour Daneel,
                              si il y a bien un bug dans Joomla. je l'ai remonté et c'est en attente.
                              https://github.com/joomla/joomla-cms/issues/39300
                              Effectivement... affaire à suivre !

                              Si un correctif est publié, il faudra des testeurs pour que ce soit pris en compte dans la prochaine mise à jour.
                              Donc n'hésite pas à revenir sur le sujet !

                              Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X