Могу ли я использовать API Twilio Authy в HTTP-ответе NodeJS?

Внешний интерфейс моего приложения на базе Ionic 2 POST отправляет некоторые пользовательские данные на серверную часть приложения, работающую на NodeJS / ExpressJS.

Все, что я хочу сделать, это использовать метод register_user () Twilio Authy внутри функции обратного вызова успеха ExpressJS app.post ().

Внешние сообщения POST для URL:

https://my-bluemix-app-placeholder/forTwilio

Но каждый раз он выдает 500 Internal server error.

Но я проверил и перепроверил, нет ли неправильной конфигурации, и ничего не нашел.

В следующем коде я использовал значения прямого ввода. Я делюсь своим кодом ниже.

var loopback = require('loopback');
var boot = require('loopback-boot');
var helmet = require('helmet');
var errorHandler = require('strong-error-handler');
var bodyParser = require('body-parser');

var imf = require('bms-mca-oauth-sdk');

// Twilio Authy
var authy = require('authy')['DxJRXLSj6Tl4jD7ytHLx0bhXLEnonbOc'];

var app = module.exports = loopback();
app.use(helmet());
app.use(errorHandler({debug:true, log:true}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

var authyUsrId = "";
app.post('/forTwilio', function(req, res){
    // send the received data to Twilio Authy
    authy.register_user('[email protected]', '7407098203', '91', function(err, res){
        authyUsrId = res.user.id;
    });
    res.send(authyUsrId);
});


// ------------ Protecting backend APIs with Mobile Client Access end -----------------

app.start = function () {
    // start the web server
    return app.listen(function () {
        app.emit('started');
        var baseUrl = app.get('url').replace(/\/$/, '');
        console.log('Web server listening at: %s', baseUrl);
        var componentExplorer = app.get('loopback-component-explorer');
        if (componentExplorer) {
            console.log('Browse your REST API at %s%s', baseUrl, componentExplorer.mountPath);
        }
    });
};

// Bootstrap the application, configure models, datasources and middleware.
// Sub-apps like REST API are mounted via boot scripts.
boot(app, __dirname, function (err) {
    if (err) throw err;
    if (require.main === module)
        app.start();
});

person somnathbm    schedule 21.10.2016    source источник


Ответы (1)


Глупая ошибка. Проблема в строчке.

// Twilio Authy
var authy = require('authy')['DxJRXLSj6Tl4jD7ytHLx0bhXLEnonbOc'];

Должен быть

// Twilio Authy
var authy = require('authy')('DxJRXLSj6Tl4jD7ytHLx0bhXLEnonbOc');
person somnathbm    schedule 21.10.2016
comment
Я бы исправил ваш комментарий, если это ваш закрытый ключ - person Dan; 31.12.2016