gpt4 book ai didi

javascript - 将express/mongodb/websockets项目迁移到什么?

转载 作者:行者123 更新时间:2023-12-02 16:23:23 26 4
gpt4 key购买 nike

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

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

我们想要的是:

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

为此,我一直在研究meteor.js 和 firebase,但很难知道哪条路线带来的痛苦最少。尤其是身份验证部分似乎很难解决。

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

最佳答案

我工作的公司,Stormpath ,基本上将其作为一项服务。对于小型项目来说它是免费的,如果你打算大量使用它,你可以付费。 super 便宜。

您可以使用我们的:

以下是我们的 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 ,您将看到一个注册页面并能够实际创建用户帐户。嘭。

Express-Stormpath Registration Page

如果您访问登录页面(/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)
  • 帐户验证
  • ...
  • 还有更多。

关于javascript - 将express/mongodb/websockets项目迁移到什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28902685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com