tbellembois / gochimitheque

Open source chemical product management application written in Golang.
GNU General Public License v3.0
4 stars 3 forks source link

Mot de passe pour nouvel utilisateur #68

Closed Rotoi closed 3 years ago

Rotoi commented 3 years ago

Bonjour,

Lors de la création d'un utilisateur depuis l'interface de chimithèque, l'erreur "Internal Server Error" apparaît même si cela fonctionne.

La procédure de paramétrage de mot de passe de cet utilisateur passe-t-elle bien par l'envoi d'un mail de réinitialisation en cliquant sur "réinitialisation de mot de passe" depuis la page de connexion ?

Ce faisant, j'obtiens l'erreur "error sending the reinitialization mail" et ne reçoit pas le mail de réinitialisation.

Le serveur SMTP, le port et l'adresse émettrice sont bien renseignés en option de la commande ExecStart=/usr/local/chimitheque/gochimitheque dans le fichier chimitheque.service, avec également l'option -mailserverusetls=true.

Mar 10 11:16:52 gochimitheque[546363]: time="2021-03-10T11:16:52+01:00" level=error msg="error sending the reinitialization mail-dial tcp: lookup smtp.monSMTP.fr on [::1]:53: read udp [::1]:50578->[::1]:53: read: connection refused" Mar 10 11:17:01 CRON[546535]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Mar 10 11:17:42 gochimitheque[546363]: time="2021-03-10T11:17:42+01:00" level=error msg="error sending the reinitialization mail-dial tcp: lookup smtp.monSMTP.fr on [::1]:53: read udp [::1]:37335->[::1]:53: read: connection refused" Mar 10 11:19:19 gochimitheque[546363]: time="2021-03-10T11:19:19+01:00" level=error msg="error sending the new person mail-dial tcp: lookup smtp.monSMTP.fr on [::1]:53: read udp [::1]:43259->[::1]:53: read: connection refused" Mar 10 12:07:49 gochimitheque[546363]: time="2021-03-10T12:07:49+01:00" level=error msg="error sending the reinitialization mail-dial tcp: lookup smtp.monSMTP.fr on [::1]:53: read udp [::1]:37773->[::1]:53: read: connection refused"

Merci à vous.

Cordialement

tbellembois commented 3 years ago

Bonjour,

L'erreur qui apparait est lié au problème d'envoi de mail. La réinitialisation de mot de passe envoie effectivement un mail à l'utilisateur pour lancer la procédure de réinitialisation. Il s'agit sans doute d'un problème avec votre SMTP. Avez vous testé vos paramètres avec une autre application ?

Thomas

Rotoi commented 3 years ago

Bonjour,

Il y avait un souci avec le service de résolution de noms, le serveur smtp n'était ainsi pas résolu. C'est corrigé.

Je reçois bien un mail de réinitialisation m'invitant à cliquer sur un lien, celui-ci n'est pas cliquable et commence par /reset?token=

J'ai récupéré et ajouté cette partie à la suite de l'URL de chimithèque et j'ai reçu un deuxième mail avec le mot de passe temporaire. Peut-on plutôt recevoir le lien complet lors de l'envoi du premier mail ?

Est-ce bien la seule procédure pour configurer un mot de passe pour un nouvel utilisateur ?

Cordialement

tbellembois commented 3 years ago

Bonjour,

Je ne comprends pas votre question concernant le lien complet. Pouvez vous donner un exemple ? Oui c'est la seule procédure.

Rotoi commented 3 years ago

Bonjour,

Comme je l'ai dit, voici le mail que je reçois.

https://i.imgur.com/iJxEk0q.png

Je dois récupérer cette partie du lien pour la coller après l'URL de chimithèque par laquelle j'accède à l'interface web sur le navigateur. Y a-t-il un souci et le lien n'est pas censé arriver sous cette forme mais complet et cliquable dans le mail ?

Cordialement

tbellembois commented 3 years ago

Effectivement il s'agit d'un bug. Pouvez vous me donner les paramètres de lancement de l'application (sans les mot de passe éventuels) ?

Rotoi commented 3 years ago

[Unit] Description=Chimitheque After=network.target

[Service] ExecStart=/usr/local/chimitheque/gochimitheque -mailserveraddress=smtp.foo.fr -mailserverport=25 -mailserversender=chimitheque@foo.fr WorkingDirectory=/usr/local/chimitheque User=chimitheque Group=chimitheque

[Install] WantedBy=multi-user.target

C'est cela que vous souhaitiez ?

Cordialement

tbellembois commented 3 years ago

Oui. Pouvez vous retester avec le binaire suivant: https://drive.uca.fr/f/e67ab296bb9242daac10/?dl=1 ?

Rotoi commented 3 years ago

J'ai cette page sur le navigateur en remplaçant le binaire par celui-ci :

https://i.imgur.com/rHaESul.png

tbellembois commented 3 years ago

Avez vous bien vidé votre cache ?

Rotoi commented 3 years ago

Oui, j'ai également testé avec d'autres navigateurs desquelles je n'avais pas accédé à chimitheque, idem.

tbellembois commented 3 years ago

Cette page apparait dès la page d'accueil ?

Rotoi commented 3 years ago

Oui effectivement, mais seulement avec le dernier binaire.

tbellembois commented 3 years ago

C'est étonnant, je vous le renvoit: https://drive.uca.fr/f/e67ab296bb9242daac10/?dl=1

Rotoi commented 3 years ago

Bonjour,

Cela produit la même page avec ce binaire. Je l'ai téléchargé avec la commange wget -O gochimitheque https://drive.uca.fr/f/e67ab296bb9242daac10/?dl=1

tbellembois commented 3 years ago

Quel navigateur utilisez vous ?

Rotoi commented 3 years ago

Firefox. Testé également avec Chrome et Edge, idem.

Ce binaire fonctionne concernant l'affichage de l'interface web : https://github.com/tbellembois/gochimitheque/releases/latest/download/gochimitheque, mais avec le bug sur l'envoi du lien de réintialisation par mal.

Rotoi commented 3 years ago

Y a-t-il une autre manipulation à réaliser en dehors de remplacer l'ancien binaire par celui que vous m'avez envoyé et relancer le service chimitheque.service ?

tbellembois commented 3 years ago

Non. Il faut vérifier que votre version de navigateur supporte bien le Web Assembly. https://developer.mozilla.org/fr/docs/WebAssembly#compat-desktop

Rotoi commented 3 years ago

J'ai testé tous les navigateurs suscités dans leur dernière version. Ils sont compatibles.

Avez-vous ce même bug dans le l'url reçue par mail avec le binaire gochimitheque actuellement publié à cette adresse https://github.com/tbellembois/gochimitheque/releases/latest/download/gochimitheque ?

Rotoi commented 3 years ago

Cela fonctionne à présent, avec le binaire publié sur la page en ajoutant l'option proxyurl=server. Le lien reçu est correct et cliquable et le mot de passe est bien réinitialisé.

Cependant, après avoir cliqué, l'url affichée dans le navigateur est :

http://localhost:8081//login?message=Un%20nouveau%20mot%20de%20passe%20temporaire%20a%20%c3%a9t%c3%a9%20envoy%c3%a9%20%c3%a0%20mail@foo.fr

Ce qui affichage une erreur de chargement de la page, au lieu de :

http://URL/login?message=Un%20nouveau%20mot%20de%20passe%20temporaire%20a%20%c3%a9t%c3%a9%20envoy%c3%a9%20%c3%a0%20mail@foo.fr

De même que lors d'une déconnexion, la page est redirigée vers http://localhost:8081/login et n'affiche rien.

Il semblerait qu'il faille ajouter l'url du serveur à la place de http://localhost:8081/ dans l'un des fichiers de configuration pour cela ?

tbellembois commented 3 years ago

Pourriez vous afficher la console développeur et voir si elle vous remonte des erreurs ?

Si votre URL n'est pas votre machine locale il faut renseigner la variable proxyurl.

Rotoi commented 3 years ago

La seule erreur est : [Exception... "Favicon at "https://appserver.foo.fr/favicon.ico" failed to load: Not Found." nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: resource:///modules/FaviconLoader.jsm :: onStopRequest :: line 253" data: no]

À quoi sert le paramètre -proxypath ?

tbellembois commented 3 years ago

Si votre serveur est hébergé à: https://monserveur.foo.fr/chimitheque alors

Rotoi commented 3 years ago

C'est réglé.

Par contre, lors de la création d'un compte, le mail suivant est reçu.

   Un compte Chimithèque a été créé pour vous.

    Vous pouvez maintenant initialiser votre mot de passe.

    Rendez vous sur la page de connexion http://localhost:8081/login, entrez votre adresse mail mail@foo.fr et cliquez sur le lien "réinitialiser mon mot de passe ".

    Vous recevrez ensuite un mot de passe temporaire.

Quel paramètre doit être modifié afin que http://localhost:8081/login soit remplacé par l'url du serveur dans ce mail ? Le paramètre -proxyurl est déjà renseigné dans la commande exécutant le binaire.

Et peut-être s'agit-il d'un bug :

Lorsqu'un utilisateur est créé sans lui assigner une entité, il n'est pas possible de le modifier ni de le supprimer depuis l'interface web. Les icônes correspondantes n'apparaissent pas. Dans quel fichier peut-on le supprimer depuis le serveur ?

Rotoi commented 3 years ago

Y a-t-il la possibilité de modifier http://localhost:8081/login par l'url du serveur dans le mail de bienvenue, et pour sauvegarder la base de données, faut-il sauvegarder /user/local/chimitheque/storage.db, storage.db-shm, storage.db-wal ou seulement storage.db ?

Merci.

tbellembois commented 3 years ago

Ce sont les deux paramètres cités ci dessus qui génèrent l'URL.

Vous pouvez sauvegarder uniquement storage.db mais le mieux est encore d'utiliser la méthode cité ici: https://github.com/tbellembois/gochimitheque/tree/wasm#database-backup

Rotoi commented 3 years ago

Ok pour la sauvegarde.

Pour l'URL, comme dit proxyurl est renseigné et je n'ai pas besoin de proxypath. L'URL de réinitialisation de mot de passe est pourtant correctement générée et fonctionne, pas celle du mail de bienvenue.

tbellembois commented 3 years ago

Voici la dernière version de développement https://drive.uca.fr/f/e67ab296bb9242daac10/?dl=1

Merci de ré essayer avec cette version.

Rotoi commented 3 years ago

Avec ce binaire j'ai toujours cette page : https://i.imgur.com/10Tx1vq.png

Voici ma configuration : Distributon ID: Ubuntu Description: Ubuntu 20.04.1 LTS Release: 20.04 Codename: focal

tbellembois commented 3 years ago

Avec quelle URL ?

Rotoi commented 3 years ago

Via la même que celle utilisée avec l'ancien binaire où cela fonctionne, avec l'adresse IP du serveur ou le nom enregistré dans le DNS. L'accès se fait en https. https://IP https://nomDNS

L'URL est réécrite pour s'affranchir du /login. J'ai testé en retirant la directive dans le fichier de configuration nginx, idem.

tbellembois commented 3 years ago

Il ne faut pas masquer /login. L'accès est maintenant fait directement à la racine du site.

Rotoi commented 3 years ago

Je viens de retester avec cette version sans la réécriture de l'URL, l'étape "Chargement du module Web Assembly" prend entre 33 et 36 secondes mais cela fonctionne, l'URL est correctement générée dans le mail de bienvenue.

Merci à vous

Est-il prévu de réduire le temps de chargement ?

tbellembois commented 3 years ago

Oui c'est prévu. Le module Web Assembly n'est chargé qu'une fois au premier accès. Pour le moment il n'est pas compressé d'où le temps de chargement.

Rotoi commented 3 years ago

Bien.

Concernant la restauration d'une base de données, il suffit de renommer storage.sq3 en storage.db et de le placer dans le dossier source de chimithèque ?

tbellembois commented 3 years ago

oui