#node.js #api #node-modules #one-time-password
#node.js #API #модули узлов #одноразовый пароль
Вопрос:
Я пытаюсь создать логин с otp в nodejs, используя textlocal api.Я могу отправить otp на номер с помощью приведенного ниже кода, как я могу убедиться, что OTP и повторный вход в систему прошли успешно.
var http = require('http');
var urlencode = require('urlencode');
var msg='test';
var number='91*******';
var username='username';
var hash='api'; // The hash key could be found under Help->All Documentation->Your hash key. Alternatively you can use your Textlocal password in plain text.
var sender='SStion';
var data='username=' username 'amp;hash=' hash 'amp;sender=' sender 'amp;numbers=' number 'amp;message=' msg
var options = {
host: 'api.textlocal.in',
path: '/send?' data
};
callback = function(response) {
var str = '';
//another chunk of data has been recieved, so append it to `str`
response.on('data', function (chunk) {
str = chunk;
});
//the whole response has been recieved, so we just print it out here
response.on('end', function () {
console.log(str);
});
}
//console.log('hello js'))
http.request(options, callback).end();
Ответ №1:
- вы должны сохранить otp с датой истечения срока действия (например: otp действителен в течение следующих 5 минут) в вашей базе данных для этого пользователя ,
- когда пользователь вводит otp, необходимо сравнить введенный пользователем otp с сохраненным otp
- также сравните текущую дату и время с датой истечения срока действия otp
- если otp не соответствует, отображается «Недопустимый OTP»
- если текущая дата-время больше, чем дата-время истечения срока действия otp, тогда отображается «срок действия otp истек»
- если введен otp == database otp amp;amp; current datetime <дата истечения срока действия otp, тогда отобразится сообщение об успешном завершении проверки OTP и перенаправление на страницу панели мониторинга
Комментарии:
1. но каждый раз, когда пользователь входит в систему с помощью otp, мне нужно будет обновлять это, например, в первый раз, когда мне нужно будет вставить otp, и после этого мне нужно будет обновлять otp каждый раз при входе пользователя в систему или, может быть, я думал о чем-то без участия db