Échec de la deuxième confirmation lors du changement d'adresse e-mail en raison de la personnalisation de l'e-mail

Bonjour, j’ai cherché une réponse à ce problème mais sans succès. Je suis administrateur sur notre forum et je me connecte généralement via l’authentification Google. Je souhaitais changer mon adresse e-mail et j’ai commencé cette procédure depuis ma page de préférences. Le premier e-mail de confirmation est arrivé à mon adresse actuelle et je l’ai confirmé : tout s’est bien passé jusqu’ici, et il a été indiqué qu’un e-mail de confirmation serait envoyé à la nouvelle adresse. Le deuxième e-mail de confirmation est bien arrivé à la nouvelle adresse, mais lorsque je clique sur le lien de confirmation, j’obtiens ce message dans mon navigateur :

Oups ! Cette page n’existe pas ou est privée.

Le processus se termine avec mon ancienne adresse e-mail toujours active dans mon compte.

Je peux avoir une expérience similaire. Je suis administrateur sur notre forum. J’ai changé mon adresse e-mail et reçu l’e-mail de vérification — tout va bien jusqu’ici. En revenant sur mon forum, je suis connecté automatiquement. J’ai vérifié mes paramètres : les e-mails du forum sont bien configurés avec ma nouvelle adresse, mais… l’adresse utilisée pour la connexion est toujours celle enregistrée initialement. Après quelques vérifications, j’ai découvert que je dois me connecter à mon compte administrateur avec la même adresse utilisée lors de l’inscription initiale. Si je me déconnecte complètement et que j’essaie de me reconnecter avec ma « nouvelle » adresse e-mail, je reçois le même message d’erreur que vous.

Vérifiez vos préférences pour voir si l’adresse e-mail destinée à recevoir les e-mails du forum est bien configurée avec votre nouvelle adresse. Elle l’est probablement. Mais je parie que l’adresse utilisée pour la connexion est toujours celle que vous aviez utilisée lors de la création initiale de votre compte administrateur.

Peut-être que @dax ou un autre membre de l’équipe pourra expliquer si c’est le comportement attendu ou s’il faut réinitialiser l’adresse e-mail de connexion administrateur d’une autre manière.

Pouvons-nous reproduire ce problème lundi @tshenry ? Cela serait spécifique aux administrateurs.

J’ai testé le processus de modification de l’e-mail administrateur sur la dernière version de Discourse ayant passé tous les tests. J’avais configuré l’authentification Google en plus des identifiants de connexion normaux. J’ai effectué des tests avec deux navigateurs différents (Safari et Chrome) et tout semble fonctionner comme prévu.

J’ai également essayé sur un site Discourse basé sur un commit vieux d’environ 11 jours. Ce compte administrateur utilisait la connexion standard avec la double authentification (2FA) activée. Le processus a légèrement changé depuis ce commit, mais il fonctionne toujours correctement.

Si quelqu’un continue de rencontrer ce problème alors que son site Discourse est totalement à jour, veuillez publier une reproduction étape par étape, ainsi que tous les détails pertinents concernant le navigateur (version, système d’exploitation, navigateur par défaut par rapport aux extensions installées). Si vous êtes hébergé par nous et que le problème se produit activement, contactez-nous via le canal de support habituel et nous travaillerons directement avec vous pour déterminer ce qui se passe.

Voici ce que j’ai fait, à plusieurs reprises :

  • Dans mon Tableau de bord, j’ai modifié mon adresse e-mail pour une nouvelle.
  • J’ai reçu l’e-mail du logiciel de forum, j’ai cliqué sur le lien pour vérifier.
  • En vérifiant le Tableau de bord, mon adresse e-mail a été modifiée pour refléter la nouvelle. Cela apparaît sous Facturation.
  • Ma nouvelle adresse reçoit également les notifications de nouveaux sujets/messages.

En vérifiant mes Préférences utilisateur/Compte (pour la connexion), l’adresse e-mail originale utilisée lors de la création du forum s’affiche toujours.

  • J’ai modifié l’adresse e-mail là-bas pour la nouvelle adresse.
  • J’ai cliqué sur Enregistrer les modifications et j’ai quitté.
  • Plus tard, j’ai revérifié et l’adresse e-mail originale s’affichait à nouveau.

À chaque fois que je me connecte, le message de connexion indique d’utiliser l’adresse utilisée pour configurer Discourse. C’est pourquoi je n’ai pas pris la peine de le signaler, pensant que c’était pour la sécurité. À part cela, ma nouvelle adresse e-mail reçoit bien ce qu’elle est censée recevoir : notifications, reçus de facturation, etc.
(Au passage, j’ai toujours accès à ma vieille boîte mail.)

Désolé, nous ne parlions pas des emails hébergés. Nous parlions des utilisateurs (plus précisément des administrateurs) qui initient un changement d’email dans leur compte via la même page d’édition de compte que tous les utilisateurs voient lorsqu’ils modifient leur adresse email.

C’est là que réside mon problème. Je suis administrateur. Je ne peux pas le modifier sur cette page. Je vais dans les préférences de mon compte utilisateur, change l’adresse e-mail, clique sur enregistrer, reçois l’avis qu’un e-mail de vérification a été envoyé, puis quitte. Lorsque je clique sur le lien et que je suis redirigé vers l’écran de connexion, je saisis ma nouvelle adresse e-mail et reçois un message m’indiquant de me connecter en utilisant l’adresse utilisée lors de l’inscription initiale. Le changement d’e-mail n’a jamais été enregistré. Il est revenu à l’adresse originale avec laquelle je me suis inscrit. :neutral_face:

D’un autre côté, si j’utilise une adresse e-mail provenant d’un autre nom de domaine que je possède — au lieu de celui ayant le même nom de domaine que le forum — cela fonctionnerait-il ? Dans les deux cas, ce n’est pas un problème pour moi. Je peux laisser les choses telles qu’elles sont.

J’ai supprimé mon authentification Google au cas où cela ferait partie du problème. Pour reproduire le problème, j’ai enregistré cette capture d’écran de 94 secondes montrant mes étapes :

https://drive.google.com/file/d/1eOE2Tptvyk2daWkvDYEFXY3qNKgnImPA/view

@David_Baker1, merci d’avoir pris le temps de réaliser cette vidéo. Je l’ai regardée et j’ai suivi attentivement les étapes sur Chrome. Tout a fonctionné parfaitement, il doit donc y avoir quelque chose de spécifique à votre environnement. Voici quelques questions à envisager :

  • Y a-t-il des erreurs pertinentes dans la section /logs de votre site ?
  • Utilisez-vous des extensions de navigateur Chrome ? Si oui, pouvez-vous essayer le même processus sur un autre navigateur ?
  • Avez-vous installé des plugins Discourse non officiels ?
  • Avez-vous suivi le guide discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub lors de la création de votre site ?

Si cela devient un problème, n’hésitez pas à nous envoyer un e-mail et nous verrons si nous pouvons régler cela directement pour vous. C’est la première fois que j’entends parler du problème que vous décrivez.

Je viens d’exécuter la même procédure sur Firefox (70.0.1 64 bits) et j’obtiens le même résultat. Réponses :

  • Je n’ai aucun journal d’erreurs depuis le 4 novembre
  • J’ai réessayé sur Firefox
  • J’ai les plugins suivants : discourse-assign, discourse-data-explorer, discourse-plugin-linkedin-auth, discourse-solved, docker_manager
  • Mon instance a été configurée et gérée par un contributeur majeur de ce site méta, et je n’ai rencontré aucun problème étrange jusqu’à présent

Hmm, que bizarre ! Il semble que votre configuration soit tout à fait standard. Je jeterai un autre coup d’œil avec quelques nouvelles idées quand j’aurai un moment la semaine prochaine. Au-delà de cela, je suis à court d’idées, car je ne parviens pas à reproduire le problème.

Bonjour à nouveau — après avoir creusé davantage, j’ai trouvé un élément qui pourrait indiquer la cause. Dans mes paramètres/préférences de compte, mon adresse e-mail est répertoriée comme celle que je souhaite remplacer. Cependant, si je clique sur le bouton Admin en haut à droite de cette vue et que je descends jusqu’en bas, sous les paramètres SSO, l’adresse e-mail que je souhaite utiliser apparaît. Il s’agit de l’adresse que j’utilisais lorsque nous avons configuré Discourse pour la première fois. Entre-temps, j’ai changé de travail et modifié l’adresse e-mail de mon compte. Mais maintenant, je souhaite la rétablir.

Il semble donc que deux adresses e-mail différentes soient associées à mon compte.

Cela pourrait-il indiquer la cause potentielle de ce problème ?

Les éléments SSO ne devraient pas avoir d’importance puisque le SSO est désactivé. Mais cela pourrait bien être la cause.

L’adresse e-mail à laquelle vous essayez de mettre à jour peut déjà être l’adresse e-mail « secondaire » de votre compte. Si c’est le cas, vous devrez supprimer l’adresse e-mail secondaire avant de pouvoir mettre à jour votre adresse e-mail principale.

En tant qu’administrateur du site, vous pouvez confirmer que l’e-mail est votre adresse e-mail secondaire en accédant à votre page d’administration et en cliquant sur le bouton Afficher pour la ligne Adresses e-mail secondaires :

Les instructions pour supprimer une adresse e-mail secondaire depuis la console Rails se trouvent dans ce message : https://meta.discourse.org/t/rake-task-for-merging-users/89086/33

C’est exactement ma situation. Dans Admin, mon e-mail affiche ce que je voulais changer, mais dans mes préférences utilisateur, il reste bloqué sur l’adresse originale que j’ai utilisée pour me connecter pour la première fois. J’ai également deux e-mails différents associés à mon compte… ou l’utilisateur et Admin sont-ils considérés comme deux comptes distincts ?

Je viens de vérifier à nouveau. Je n’ai aucun compte e-mail secondaire affiché dans le tableau de bord Admin.

Pour m’assurer que ce n’est pas le problème, êtes-vous administrateur du site ? Les modérateurs ne verront pas les champs e-mail à moins que le paramètre « Les modérateurs voient les e-mails » ne soit activé. Il est désactivé par défaut.

Oui, je suis l’administrateur.

Je suis aussi administrateur - si cela s’adressait aussi à moi :slight_smile:

Si vous avez accès à la console Rails de votre site, vous pouvez vérifier si l’adresse e-mail vers laquelle vous tentez de mettre à jour est déjà utilisée en exécutant la commande suivante avec cette adresse e-mail :

UserEmail.where(email: 'votreemail@exemple.com')

Si le plugin Data Explorer est installé sur votre site, vous pouvez effectuer cette vérification via une requête Data Explorer, sans avoir à utiliser la console.

Si des résultats sont renvoyés, cela sera la cause du problème. Cependant, le fait que l’adresse e-mail vers laquelle vous tentez de mettre à jour existe déjà dans un enregistrement Single Sign On ne devrait pas poser de problème.

MODIF : Trouvé. user_notifications.confirm_new_email.text_body_template avait remplacé l’URL.
Vous pouvez ignorer le reste.

Salut Simon. Merci pour ton aide.

Voici le problème :

Il envoie des e-mails « confirmez votre nouvelle adresse e-mail » avec des liens du type https://forum.xx.org/users/authorize-email/c7ed779eb28c049ec4a5105dd9e07013 plutôt que https://forum.xx.org/u/confirm-new-email/c15d4bc33211e586b70572195f7dac89.

Si je réécris le lien pour utiliser la bonne URL et le jeton, cela fonctionne parfaitement, mais pour une raison inconnue, il envoie l’ancien format de lien et non le nouveau ! (Je l’ai fait deux fois, une fois après avoir effectué le grep et redémarrage décrit ci-dessous.)

Je viens de lancer ./launcher rebuild et il envoie toujours des liens avec l’ancien format. Comme annoncé, seuls des plugins officiels et fiables sont installés.

Ensuite, je me rends dans le conteneur et, dans /var/www/discourse, j’exécute grep -r authorize-email, mais aucun fichier n’est trouvé. Puis j’ai redémarré.

Je suis vraiment bloqué, au moins pour la deuxième fois en 24 heures.