【问题标题】:Migrate an express/mongodb/websockets project to what? [closed]将 express/mongodb/websockets 项目迁移到什么? [关闭]
【发布时间】:2015-03-07 00:35:04
【问题描述】:

在Weld,到目前为止,我们一直在自己处理我们的用户项目。该设置是一个实时应用程序,用户在其中创建自己的内容,我们通过 websockets 和 Node.js 快速服务器将这些内容保存在 mongodb 中。通过 passport.js 本地策略处理身份验证。

我们希望摆脱这个责任,最好让托管的第三方服务来处理客户端和服务器之间的所有数据存储和同步。

我们想要的是:

  • 无需太多工作即可导入/导出我们当前的 mongodb 数据库。
  • 使用我们当前基于 passport.js 的解决方案进行身份验证。
  • 自动客户端/服务器同步(在客户端修改项目时,应将其实时传播到数据库)

为此,我一直在研究 meteor.js 和 firebase,而且很难知道哪条路线带来的痛苦最小。尤其是 auth 部分似乎很难解决。

我应该采用哪种解决方案以及它的分步程序是什么?

【问题讨论】:

    标签: javascript node.js mongodb passport.js


    【解决方案1】:

    我工作的公司Stormpath,基本上是作为一种服务来做的。它可以免费用于小型项目,如果您打算大量使用它,您可以付费。超级便宜。

    您可以使用我们的:

    这是我们的 Express 东西的工作原理(非常简单):

    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,您将看到一个注册页面并能够实际创建用户帐户。砰。

    如果您访问登录页面 (/login) 或注销页面 (/logout) 也是如此。

    所有这些显然也可以自定义。

    例如,如果您想启用密码重置功能,以便让忘记密码的用户重置密码,您也可以这样做!方法如下: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 + '!');
    });
    

    它还可以做很多其他事情:

    • API 认证
    • 密码重置
    • 社交登录(facebook、google)
    • 帐户验证
    • ...
    • 还有更多。

    【讨论】:

      猜你喜欢
      • 2011-07-17
      • 1970-01-01
      • 2020-11-13
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      • 2013-01-09
      相关资源
      最近更新 更多