基于REST / Web的身份validation即服务的可能性?
我使用Express
开发了一个基于REST
的服务,最初开始自己实现身份validation。 简单的用户名/密码authentication在哪里
- 密码使用BCryptencryption
- 用户信息+散列密码存储在mongoDB中
- 密码validation检查完成。
- authentication令牌(有限的TTL)被生成/validation
我对Node.JS有一些了解,但还不足以让我感觉舒服一点,就是推出我自己的身份validation(login/注册)机制。
出于这个原因,我想用别的东西取代我的内部机制。
有东西被certificate,可扩展,可插拔和易于使用。
考虑到基于Node.JS的安全网站/ REST API的数量,我确信有人或公司必须提供的开箱即用的解决scheme可以使服务实现者快速启动并运行,而无需担心安全性/用户方面。
我正在寻找一个比passport
或者everyauth
图书馆even higher level of abstraction
。 一些提供开箱即用的function,能够满足我的要求,包括:
- 提供login页面/注册页面/configuration文件页面
- 不同的authentication模块(谷歌,脸谱,Github,….)
- 在数据存储(mongoDB)中存储用户信息(如果需要,需要+证书)。
- 记住我
- 忘记密码/重置密码
所以这里的问题是:
- 是否有可用的提供比护照/ everyauth / …更高的抽象级别的解决scheme?
- 如果有的话,你会推荐一些这种现成的解决scheme吗?
- 我是否应该忘记
outsourcing my user authentication
的概念,并开始查看护照和outsourcing my user authentication
,并开始使用这些库实现我的要求? - 是否可以专注于我的业务逻辑,而不用担心有关用户身份validation的任何方面(写入login/注册页面,实现忘记密码/重置密码stream程,将用户信息存储在数据库中)。
服务API应该在很大程度上独立于您的身份validation机制生活,所以我build议在简单的密码保护文件夹或一些这样的背后启动。 在我看来,最好确保你的API工作,并能获得牵引力。 这意味着这将是一个长期的项目。 没有什么比专注于开箱即用的痛苦东西更快速地杀死项目。
至于什么服务使用? 设置安全性并不重要。 所以对于一个小型的启动项目,与其他服务集成可能更具成本效益。 可能会看看Mozilla的angular色 。 它build立在Node上 ,非常简单。
如果你确实试图让自己得到一些外部的专业知识, 不要做像SHA1这样的散列algorithm来存储密码的愚蠢的东西。 而是使用类似bcrypt的东西。 然后还有其他一些东西,不要将服务器日志存储在创build的服务器上。 把其他地方的所有日志都挖出来,所以如果有入侵,你会有一个取证追踪到发生的事情。
我想你可以使用https://stormpath.com/ 。 我正在寻找一个自由的替代品
- 我如何使用node.js和PHP来请求谷歌浏览器中的客户端js的大查询authentication
- 使用来自envvariables的令牌从私有Github repo安装NPM包
- 用于Express.js的Rest APIvalidation和会话pipe理
- sails-auth生成器不起作用
- 我如何使用户只能在Keystone.js中编辑自己的数据?
- 在iOS / Node应用程序中使用google / twitter / linkedInauthentication
- 具有“持久性标记”function的Node.js身份validation库
- NodeJS – 显示login或不是用户的不同内容
- 通过Node.js项目存储通用authentication详细信息的强大方法是什么?