gpt4 book ai didi

node.js - 如何使用 express/node 确认电子邮件地址?

转载 作者:IT老高 更新时间:2023-10-28 21:58:29 25 4
gpt4 key购买 nike

我正在尝试为用户构建电子邮件地址验证,以验证他们的电子邮件是真实的。我应该使用什么包来确认用户的电子邮件地址?到目前为止,我使用 Mongoose 和 express

代码示例

var UserSchema = new mongoose.Schema({
email: { type: String, unique: true, lowercase: true }
password: String
});

var User = mongoose.model('User', UserSchema);

app.post('/signup', function(req, res, next) {
// Create a new User
var user = new User();
user.email = req.body.email;
user.password = req.body.password;
user.save();
});

在 app.post 代码中,我如何确认用户的电子邮件地址?

最佳答案

您要查找的内容称为“帐户验证”或“电子邮件验证”。有很多 Node 模块可以执行此操作,但原理如下:

  • 你的用户模型应该有一个 active 属性,默认情况下是 false
  • 当用户提交有效的注册表单时,创建一个新用户(他的 active 最初将是 false)
  • 使用加密库创建一个长随机字符串(通常 128 个字符即可)并将其存储在您的数据库中,并引用用户 ID
  • 向提供的电子邮件地址发送一封电子邮件,其中包含作为指向服务器上路由的链接的一部分的哈希
  • 当用户点击链接并点击您的路线时,检查 URL 中传递的哈希
  • 如果数据库中存在哈希,则获取相关用户并将其active属性设置为true
  • 从数据库中删除哈希,不再需要它

您的用户现已通过验证。

关于node.js - 如何使用 express/node 确认电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39092822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com