我查看了 passport.js 中的文档,passport-local 策略似乎明显不完整。
如果您的用户群以任何形式拥有密码,那么从 http://passportjs.org/docs/username-password 的文档中可以清楚地看出这一点。如何让人们尝试登录,获得有用的失败消息(并且,从可用性的 Angular 来看,很好地告知是哪个用户名或密码不匹配),如果他们提供了有效的凭据,请登录中。
但是,围绕用户名-密码身份验证存在一组基本功能的 CRUD。人们通常希望能够创建自己的帐户;此外,如果他们忘记了密码,他们应该能够请求“重置密码”链接,并且能够在没有通过电子邮件向他们发送明文密码的情况下能够登录。所有这些都有些繁琐,但它是一个需要涵盖的基础,就像各种应用程序需要涵盖 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 key /应用程序/组。
它的功能非常完备,而且文档齐全。
我是上述库的作者,所以我有点偏见,但老实说它非常有用 =)
关于javascript - 如何使用 passport.js 的 passport-local 或其他 Node.js 工具获得完整的 CRUD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080602/