Renvoyer l'e-mail d'activation - Erreur 404

Lorsqu’un utilisateur s’inscrit, l’e-mail d’activation fonctionne correctement. Cependant, tenter de se connecter et de renvoyer les e-mails d’activation entraîne le journal de production suivant :

Started POST "/u/action/send_activation_email" for (removed ip and timestamp)
Processing by UsersController#send_activation_email as */*
Completed 404 Not Found in 2ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 542)

Cette erreur se produit sur tous les conteneurs exécutant la version 3.2.0.beta1-dev. Le fichier « production_errors.log » est vide.

Étapes pour reproduire :

  1. S’inscrire avec le formulaire par défaut
  2. Ignorer l’e-mail d’activation et tenter de se connecter
  3. Cliquer sur « Renvoyer l’e-mail d’activation » dans la fenêtre contextuelle « Vous ne pouvez pas encore vous connecter. Nous vous avons précédemment envoyé un e-mail d’activation à… »
  4. « Une erreur s’est produite : L’URL ou la ressource demandée est introuvable. »
  5. Cliquer sur « OK », puis la fenêtre contextuelle suivante apparaît : « Nous vous avons envoyé un autre e-mail d’activation à… » (Cependant, le deuxième e-mail d’activation n’est pas réellement envoyé)

Je vois que la fonction/action send_activation_email est limitée par débit.

def send_activation_email
    if current_user.blank? || !current_user.staff?
      RateLimiter.new(nil, "activate-hr-#{request.remote_ip}", 30, 1.hour).performed!
      RateLimiter.new(nil, "activate-min-#{request.remote_ip}", 6, 1.minute).performed!
    end

Cela entraînerait-il l’erreur 404 ? Existe-t-il d’autres journaux que je peux consulter pour déboguer ce problème ?

1 « J'aime »

Je teste ceci sur mon site de développement local, le problème semble être qu’aucun des paramètres username ou email n’est défini pour la requête POST effectuée vers /u/action/send_activation_email lorsque la requête est effectuée après qu’un utilisateur qui n’a pas cliqué sur le lien dans l’e-mail d’activation tente de se connecter avec un nom d’utilisateur/mot de passe :

Si, au lieu de cela, l’utilisateur clique sur le bouton “Renvoyer l’e-mail d’activation” depuis la page de création de compte qui s’affiche immédiatement après l’enregistrement d’un compte, le paramètre username est défini pour la requête. Pour référence, le bouton qui fonctionne est celui-ci :

Ma supposition sur ce qui se passe est que, pour la requête qui fonctionne, les paramètres de la requête POST sont définis en fonction des valeurs que l’utilisateur saisit lorsqu’il remplit le formulaire d’inscription.

L’erreur 404 est déclenchée ici :

1 « J'aime »

Cela ressemble à un bug pour moi.

J’ajoute simplement une note indiquant que ce problème empêche également les utilisateurs dont les comptes ont été désactivés depuis leur page d’administration / d’utilisateurs de déclencher l’e-mail d’activation après avoir tenté de se connecter et cliqué sur le bouton « Renvoyer l’e-mail d’activation ».

Cela provoque la même erreur que celle signalée ci-dessus.

2 « J'aime »

Merci pour le rapport @john.sanchirico, et aussi @simon pour l’analyse détaillée :pray:

Ceci sera corrigé par

2 « J'aime »

Ce sujet a été automatiquement fermé après 20 heures. Les nouvelles réponses ne sont plus autorisées.