Вход с помощью OTP (textlocal) в Nodejs

#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:

  1. вы должны сохранить otp с датой истечения срока действия (например: otp действителен в течение следующих 5 минут) в вашей базе данных для этого пользователя ,
  2. когда пользователь вводит otp, необходимо сравнить введенный пользователем otp с сохраненным otp
  3. также сравните текущую дату и время с датой истечения срока действия otp
  4. если otp не соответствует, отображается «Недопустимый OTP»
  5. если текущая дата-время больше, чем дата-время истечения срока действия otp, тогда отображается «срок действия otp истек»
  6. если введен otp == database otp amp;amp; current datetime <дата истечения срока действия otp, тогда отобразится сообщение об успешном завершении проверки OTP и перенаправление на страницу панели мониторинга

Комментарии:

1. но каждый раз, когда пользователь входит в систему с помощью otp, мне нужно будет обновлять это, например, в первый раз, когда мне нужно будет вставить otp, и после этого мне нужно будет обновлять otp каждый раз при входе пользователя в систему или, может быть, я думал о чем-то без участия db