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