基于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/ 。 我正在寻找一个自由的替代品
- 在NodeJS的TCP服务器上实现简单的身份validation
- 基于令牌的身份validation和在Nodejs中的Facebook身份validation
- 使用Flux / React应用程序存储authentication详细信息
- LocalStrategy不是一个构造函数
- 使用json文章的摘要authentication的curl命令
- Node.js NTLM HTTP Authentication,如何处理这3种types
- 什么是sails.js最好的authentication方法?
- 在NodeJS中使用REST APIauthentication困惑
- 要求Passport.js / Node.js目录(除了一个页面)的身份validation?