首页 > 解决方案 > 验证来自 nodejs 的电子邮件

问题描述

我是后端新手,当用户发布时有一个任务来验证注册电子邮件地址/register所以在user.controller.js文件中,我使用哈希user.email地址设为密钥。

const secret = crypto.randomBytes(20);
const hash = crypto.createHmac('sha256', secret)
                   .update(secret + user.email)
                   .digest('hex');
console.log(hash);

var expires = new Date();
expires.setHours(expires.getHours() + 6);

    user.emailResetToken = hash;
    user.emailExpires = expires;

所以,注册后,我有以下价值观:-

{
    "isVerified": false,
    "_id": "5c3db78774d8ad1124e6056f",
    "fullName": "ABC",
    "email": "abc@xyz.com",
    "password": "$2a$10$7JBeboru2xORj6d8wyR0W.Ulm/7JQs1dyP7H.Mr4lq8FcSP6KVnBa",
    "phoneNumber": "000631",
    "emailResetToken": "c4af02d40b31e6882692e75f85dab9198fbdcc2f132ee7a0ab0bd94420e4dd",
    "emailExpires": "2019-01-15T16:35:51.457Z",
    "saltSecret": "$2a$10$JBeboru2xORj6d8wyR0W.",
    "__v": 0
}

所以现在我面临两个问题

标签: javascriptnode.jsnodemaileremail-verification

解决方案


推荐阅读