Я создаю учетную запись пользователя в проекте с Node Js.Пока пользователь регистрируется, он должен указать свои name
, mobile
и password
.Когда указан номер мобильного телефона, он должен быть аутентифицирован с использованием 2FA, SMS OTP.
Здесь я не использую Twillo или другие, потому что клиент взял SMS-шлюз локальной страны с именем пользователя и паролем.Но там документация поддерживает только C #, php и Java.Существует не для Node Js.Но они предоставили Web-сервис в по ссылке как WSDL.Могу ли я использовать этот веб-сервис для отправки SMS OTP с Node Js?Пожалуйста помоги.Заранее спасибо.
Вот моя модель пользователя и контроллер пользователя:
Модель пользователя
var mongoose = require('mongoose');
var userSchema = new mongoose.Schema(
{
name: {type: String, required: true, max: 25, trim: true},
mobile: {type: String, required: true, unique:true, trim: true, sparse: true},
password: {type: String, required: true, min: 6},
is_verified:{type: Boolean, default:0}, //<<<<<<<<<<<<<<<< After SMS OTP, will true
},
{
timestamps:true
});
mongoose.model('User', userSchema);
module.exports = mongoose.model('User');
Контроллер пользователя
router.post("/register", upload.single('image'), function (req, res, next)
{
// All validation Here
var hashedPassword = bcrypt.hashSync(req.body.password, 10);
const objUser = new User(
{
name : req.body.name,
mobile : req.body.mobile,
password : hashedPassword
});
soap.createClient(wsdlUrl, function(err, soapClient)
{
// we now have a soapClient - we also need to make sure there's no `err` here.
if (err)
{
return res.status(500).json(err);
}
soapClient.user({
customer : 1,
id : 1,
password : 'username',
username : 'password'
}, function(err, result)
{
if (err)
{
return res.status(500).json(err);
}
return res.json(result);
});
});
// <<<<<<<<<< Here I want to send SMS
objUser.save((err) =>
{
if (err)
{
return next(err);
}
res.status(201).send(" The registration ok. No problems")
);
});
})