Использование Stormpath - нужно мне это или нет? - PullRequest
0 голосов
/ 13 января 2019

У меня есть простое приложение (разработанное еще в 2016 году), которое взаимодействует с API Twilio (отправлять и получать сообщения). Предыдущий разработчик использовал stormpath для аутентификации. Stormpath был продан на Okta 2017, и с тех пор система не работала. И теперь мне нужно снова вывести приложение в онлайн.

Я не уверен, нужно ли мне продолжать пользоваться сервисом, похожим на stormpath, поскольку я намерен создать несколько аккаунтов для друзей и семьи, чтобы использовать его. Я не собираюсь использовать его, а также интегрировать в другую систему.

Поэтому я ищу самое дешевое решение, чтобы оно заработало: + удалить его полностью (не уверен, если это возможно) + перенести его в окта + перенести его в auth0

Не могли бы вы дать мне несколько идей?

Вот что я сделал - вытащить код из GitHub - создать новое приложение на героку - толкни код к героку - Установите Redis для приложения - Установите переменную среды для Twilio (TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN), а также REDISCLOUD_URL, EXPRESS_SECRET

//stormpath init
app.use(stormpath.init(app, {
  website: true,
  api: true,
  expand: {
    apiKeys: true,
    customData: true
  },
  web: {
    login: {
      nextUri: '/private/dashboard'
    },
    logout: {
      nextUri: '/'
    }
  },
  postRegistrationHandler: function(account, req, res, next) {
    async.parallel([
      // Set the user's default settings.
      function(cb) {        
        account.customData.credits = 0;   
        cb();
      },
      // Create an API key for this user.
      function(cb) {
        account.createApiKey(function(err, key) {
          if (err) return cb(err);
          cb();
        });
      },
      //create subaccount on twilio
      function(cb) {
        client.accounts.create({
          friendlyName: account.email
        }, function(err, twilioAccount) {
          if(err) {
            console.log('cannot create subaccount on twilio');
            return cb(err);
          }
          account.customData.accountSid = twilioAccount.sid;
          account.customData.save(function(error) {
            if(error) return cb(error);

            cb();
          })          
        });
      }
    ], function(err) {
      if (err) return next(err);
      next();
    });
  },
  postLoginHandler: function(account, req, res, next) {
    initPhoneNumbers(req, res, next);
  }
}));

Вот файл журнала приложения: https://pastebin.com/75aetfZD

...