你好,所有我正在使用speakeasy npm模块在一个时间范围内生成totp,现在下面是我的工作流程,现在谁能告诉我,我是不是遗漏了什么。当用户注册时,我会在请求中获取其手机号码,然后将其用作秘密,并生成我的totp,以便每个用户的totp都是唯一的
var mobile_no = req.body.mobile_no;
speakeasy.totp({key: mobile_no, step: 60})我正在发送我的用户的手机号码,然后发送到服务器进行检查,现在在服务器上,我正在从totp模块再次检查它
var mobile_no = req.body.mobile_no;
var sent_totp = req.body.totp;
if (sent_totp == speakeasy.totp({key: mobile_no, step: 60})) {
console.log('Registration successfull');
} else {
console.log('OTP does not match');
}如果匹配,则我进行注册,否则不是现在,我是否做了一切正确的??请告诉我,我的方法有什么问题吗?
发布于 2018-11-22 07:38:14
var code = speakeasy.totp({key: 'abc123'});
users.get(data.phone_number, function (geterr, doc, key) {
if (geterr) {
createUser(data.phone_number, code, socket);
}
else if (checkVerified(socket, doc.verified, data.phone_number) == false) {
socket.emit('update', {message: "Your message goes in here"});
socket.emit('code_generated'); //if code have been generated
}
});//希望这能帮上忙
https://stackoverflow.com/questions/34484165
复制相似问题