如何使用 passport.js 的 passport-local 或其他 Node.js 工具获得完整的 CRUD?

How, with passport.js's passport-local or other Node.js tools can I have the equivalent of full CRUD?

我查看了 passport.js 中的文档,本地护照策略似乎明显不完整。

如果您的用户群以任何形式拥有密码,那么从 http://passportjs.org/docs/username-password 的文档中可以清楚地看出如何让人们尝试登录,获得有用的失败消息 (并且,从可用性的角度来看,很好地告知它是哪个用户名或密码不匹配),如果他们提供了有效的凭据,请登录。

但是,围绕用户名-密码身份验证存在一组基本功能的 CRUD。人们通常希望能够创建自己的帐户;此外,如果他们忘记了密码,他们应该能够请求 "reset password" link 并且能够在没有通过电子邮件向他们发送明文密码的情况下能够登录。所有这些都有些繁琐,但它是一个需要涵盖的基础,就像各种应用程序需要涵盖 CRUD 一样。

我读过的关于 passport-local 的文档没有讨论这个,我正在寻找的东西看起来像是一种使用 Mongoose 手动重新发明用户名-密码身份验证的准 CRUD 方面的方法。我不知道这是 passport-local 的限制还是文档的限制。

如果我想为 public 网站提供常规功能,人们可以为自己创建帐户,并且我已经在使用 Express.js 和(可协商)Passport.js,我有哪些选择?

谢谢,

如果您正在寻找一个完整的 CRUD 用户管理系统,那么 Stormpath.

这样的系统绝对是您的不二之选

使用他们的 express.js 库立即为您提供一个完整的 CRUD 系统(带有 Node / Express / Restify / Loopback / Python / Django / Flask / 等等...)用于管理/工作的库与您的用户。

这是他们的 express.js 库文档:https://docs.stormpath.com/nodejs/express/

本质上,他们所做的是:

  • 他们会存储您的用户帐户。
  • 您使用他们的中间件来创建/登录/管理用户。
  • 您可以使用他们的中间件通过登录、组、API 身份验证等来限制页面
  • 您可以使用他们的库来搜索/排序/创建/更新/删除用户/API 键/应用程序/组。

它的功能非常齐全,并且有据可查。

我是上述库的作者,所以我有点偏见,但老实说它很有用 =)