我已经使用并最初开始自己实施身份验证开发了一个REST
基于服务。Express
一个简单的用户名/密码验证,其中
- 密码使用 BCrypt 加密
- 用户信息 + 哈希密码存储在 mongoDB 中
- 密码验证检查已完成。
- 生成/验证身份验证令牌(有限 TTL)
我对 Node.JS 有一些了解,但还不足以让我对推出自己的身份验证(登录/注册)机制感到满意。
出于这个原因,我想用其他东西替换我的内部机制。
经过验证、可扩展、可插拔且易于使用的东西。
鉴于基于 Node.JS 的安全网站/REST API 的数量,我确信人们/公司必须提供开箱即用的解决方案,可以让服务实施者快速启动并运行,而无需担心安全/用户方面。
我正在寻找一个even higher level of abstraction
比图书馆像passport
or everyauth
。提供开箱即用功能的东西,能够满足我的要求,包括:
- 提供登录页面/注册页面/个人资料页面
- 不同的身份验证模块(google、facebook、github、....)
- 将用户信息(如果需要,+凭据)存储在数据存储区(mongoDB)中。
- 记得我
- 忘记密码/重设密码
所以这里的问题是:
- 是否有
out-of-the-box
类似的解决方案提供比护照/everyauth/...更高的抽象级别? - 如果有的话,您会推荐其中一些开箱即用的解决方案吗?
- 我是否应该忘记
outsourcing my user authentication
并开始查看护照和everyauth 的概念并开始使用这些库来实现我的要求? - 是否可以专注于我的业务逻辑而不用担心有关用户身份验证的任何方面(编写登录/注册页面,实现忘记密码/重置密码流程,将用户信息存储在数据库中)。