起源:公众号《前端全栈开发者》
“两周内给我建一个用户认证零碎”是当初研发团队中常见的一句话。因为种种原因,这个工作始终是留给团队中的一个开发人员去解决的。
一方面,你的确不想节约很多工夫。另一方面,你放心这种信息可能最好由本人外部编写的服务来解决,以便当前更好的扩大。
随着网络上呈现新的教程(是一个很好的开始),越来越多的团队试图理解实现本人的解决方案与应用库或服务的老本效益等式,心愿这能够节俭一些工夫,并做出更理智的决定。
1. Passport JS
Passport不仅仅是一个15k星用户身份验证库,它可能是JS开发人员应用内部库进行用户认证的最常见形式。该库基本上为Node.js提供了绝对灵便和模块化的中间件,能够将其集成到任何基于Express的Web应用程序中。它也是一个社区平台,反对各种常见的身份验证,例如用户名和明码,Facebook,Twitter等。如果你不想施行本人的解决方案,则可能是第一个抉择。
2. Auth0
尽管这不是库,而是服务,但这是实现工作的牢靠而疾速的办法。Auth0是一家(颇具规模的)新兴公司,为Web,挪动和旧版应用程序提供宽泛的通用身份验证和受权平台。有人说这是与Plataformatec的Ruby on Rails Devise最靠近的解决方案,除了你能够应用任何语言连贯任何应用程序或API。已有超过100个事后建设的集成。
3. Permit
Permit是一个1千颗星的我的项目,旨在为构建Node.js API提供一个“不受限制的”身份验证库。Permit容许你向任何Node.js API增加身份验证层,并且能够与Express,Koa,Hapi和Fastify等框架一起应用。它能够与从REST到GraphQL的多种类型的API一起应用,因而是“非规范化”的设计。Permit旨在专一于API(无状态申请)和Express以外的反对框架。它也在踊跃开发中,这使“Permit”成为一个值得思考的乏味抉择。
4. Grant
一个相当新的,很有前途的库,为Express,Koa和Hapi提供OAuth中间件,并提供180多家受反对的提供商和一个实时游乐场。如果你想将其与本人的公有OAuth提供程序一起应用,则能够本人指定所需的密钥。只管该库曾经开始受到关注(超过1K星),然而资源绝对稀缺,因而请审慎尝试。
5. Feathers 认证治理
Feathers是一个开源(11K星)的NodeJS实时微服务Web框架,通过RESTful资源、套接字和灵便的插件让你控制数据。
Feathers还提供了认证和认证治理模块,让你在本地Feathers认证中减少注册验证、忘记明码重置等性能。这个想法是在一个灵便的基础设施中,将不同的认证办法联合在一起。
6. 只需应用Firebase身份验证(实用于小型应用程序)
这可能不肯定是在你的扩大平台中治理用户受权的长期解决方案(或者是吗?),然而,对于通过Firebase部署的应用程序来说,这是一种十分有用的办法,能够疾速,轻松地实现工作。
Firebase身份验证提供后端服务,易于应用的SDK和现成的UI库,以对你的应用程序的用户进行身份验证。它反对应用明码、电话号码、风行的联邦身份提供商(如谷歌、Facebook和Twitter)进行身份验证。
发表回复