2015-03-06 3 views
1

В Weld мы до сих пор работали с нашими пользовательскими проектами. Настройка представляет собой приложение реального времени, в котором пользователь создает свой собственный контент, который мы сохраняем в mongodb через веб-узлы и сервер Node.js express. Аутентификация осуществляется через локальную стратегию passport.js.Перенос проекта express/mongodb/websockets на что?

Мы хотим отойти от этой ответственности и предпочтительно разрешить размещенному стороннему сервису работать со всеми хранилищами данных и синхронизацией между клиентом и сервером.

Что мы хотим:

  • Импорт/Экспорт нашу текущую базу данных MongoDB без много работы.
  • Аутентификация с использованием нашего текущего решения на основе паспорта.js.
  • Автоматическая синхронизация клиент/сервер (если проект изменен на клиенте должен распространяться в режиме реального времени к базе данных)

Я смотрел на meteor.js и firebase для этого, и это просто на самом деле трудно узнать, какой путь ведет к наименьшей боли. Особенно автомат кажется сложным для решения.

Какое решение я должен использовать и что такое пошаговая процедура для него?

ответ

2

Компания, в которую я работаю, Stormpath, в основном это как сервис. Он может использоваться для небольших проектов, и вы можете заплатить, если планируете его использовать. Супер дешево.

Вы можете использовать нашу:

Вот как работает наш Экспресс материал (это довольно просто):

var express = require('express'); 
var stormpath = require('express-stormpath'); 

var app = express(); 
app.use(stormpath.init(app)); 

app.listen(3000); 

Приведенный выше код представляет собой полнофункциональный express.js приложение с регистрации, Логин и т.д. Если вы запустите это приложение, затем посетите страницу http://localhost:3000/register, вы увидите страницу регистрации и сможете фактически создавать учетные записи пользователей. Bam.

Express-Stormpath Registration Page

То же самое верно, если вы посетите страницу входа в систему (/ входа) или выход из системы страниц (/ выход из системы).

Все это, очевидно, может быть изменено.

Например, если вы хотите включить функцию сброса пароля, чтобы пользователи, которые забыли пароль, сбросили его, вы тоже можете это сделать! Вот как это делается: https://docs.stormpath.com/nodejs/express/product.html#use-password-reset

Хотите получить доступ к объекту пользователя и хранить некоторые данные на пользователе?Это просто, вот пример маршрута:

app.use(stormpath.init(app, { 
    expandCustomData: true 
})); 

app.get('/secret', stormpath.loginRequired, function(req, res) { 
    req.user.customData.favoriteColor = 'black'; 
    req.user.customData.save(); 

    res.send('Hi: ' + req.user.givenName + '! Your favorite color is: ' + req.user.customData.favoriteColor + '!'); 
}); 

Он может также делать множество других вещей:

  • Authentication API
  • Сброс пароля
  • Социальный логин (facebook, Google)
  • Проверка счета
  • ...
  • Много больше.
Смежные вопросы