Je vais écrire le code de confirmation par courrier électronique dans le nœud JS. Approche suivante, j'adopte
Settimeout () Code> Methon pour attendre 20 minutes pour confirmer l'adresse mail li>
- Après 20 minutes si l'utilisateur vérifie les addres, il est fin, sinon supprimez les données utilisateur de la base de données. LI>
ul>
Mais ce code continue d'attendre 20 minutes jusqu'à la fin de la période de sécurité. Y a-t-il un moyen d'appliquer cette stratégie sans attendre 20 minutes? Je sais que c'est simple mais je ne suis pas capable de le casser. Voici le code ... p> xxx pré> p>
3 Réponses :
Enregistrez le temps d'expiration du code de confirmation avec celui-ci dans la base de données. Ensuite, lorsque vous vérifiez le code, vérifiez également qu'il n'a pas expiré. P>
Il devrait y avoir deux points d'extrémité distincts: un pour générer le numéro de vérification et enregistrer le code et l'heure de la génération dans la base de données (comme @Brad a déclaré), tandis qu'un autre noeud final est responsable de la vérification si le numéro envoyé par l'utilisateur est correct et non expiré
Nous pouvons utiliser des index TTL dans MongoDB pour faire ce travail, supposons qu'il existe un afin que nous puissions ajouter un index TTL comme p> ici Index TTL supprimera automatiquement le document après l'heure d'expiration si pour référence Strong> em> https://docs.mongodb.com/manual/core / index-ttl / p> p> isverified code> qui est par défaut
false code> et est défini sur
true code > Lorsque l'utilisateur vérifie l'e-mail
créateat code> est la date du temps lorsque l'utilisateur est enregistré. p>
isverified (code> est toujours faux p>
Vous pouvez également essayer cette approche
à l'aide du package NPM Utilisez ce package dans votre index serveur.js et créez un itinéraire pour cela et passer directement dans les variables et vous pouvez faire le reste, P> dans votre application, obtenez les données du formulaire et transmettez-la sur votre serveur, puis sur le package et il vous retournera un OTP fonctionne avec, p> Veuillez vérifier les procédures complètes avec l'exemple Ici p>
Cela vous donnera un OTP à travailler avec et vous pouvez l'enregistrer sur votre serveur et vous pouvez l'utiliser pour l'avenir futur, comme faire une demande de message à votre serveur à partir de la façade lorsque les types d'utilisateurs dans l'OTP P> p> Utilisation h2>
sortie h2>
Cela vous aiderait si vous avez donné plus de détails sur la manière dont vous envoyez l'email (NODEMAILER? SES?) ...
@Gilsondoijunior Oui Nodemailer et j'ai mis à jour la question.