在节点js的快速会话中设置动态密钥

时间:2019-07-17 12:43:07

标签: redis express-session

我正在尝试使用express-session和Redis作为节点js中的存储来实现电子邮件验证系统。这就是我要尝试的方式

1-使用加密库创建唯一令牌。

2-将唯一令牌保存到Redis存储中的该电子邮件地址,maxAge为1小时。

3-验证时,它将检查令牌是否与redis中存储的关联电子邮件地址匹配,如果是,则确认电子邮件。

现在如何在快速会话中设置动态密钥,以便该密钥可以是电子邮件地址?我可以设置动态值,但不能设置动态键。

我尝试使用req.session.key,但它只需要静态密钥。

这是我的代码

const sendemailverification  = function(req,res){

   var emailaddress = req.body.emailaddress;
   var uniquetoken = crypto.randomBytes(64).toString('hex');
   req.session.emailaddress = emailaddress;
   req.session.verificationtoken = uniquetoken;
   req.session.cookie.maxAge = 1000 * 60 * 60 * 24;



     useremailverification.sendemail(emailaddress,uniquetoken)
        .then(function(result){
            res.send(result)
        })
        .catch(function(error){
            res.send(error);
        })



}

代替设置 {abc@gmail.com<token>},它会设置 {emailaddress<token>}

0 个答案:

没有答案