起源:公众号《前端全栈开发者》
“两周内给我建一个用户认证零碎”是当初研发团队中常见的一句话。因为种种原因,这个工作始终是留给团队中的一个开发人员去解决的。
一方面,你的确不想节约很多工夫。另一方面,你放心这种信息可能最好由本人外部编写的服务来解决,以便当前更好的扩大。
随着网络上呈现新的教程(是一个很好的开始),越来越多的团队试图理解实现本人的解决方案与应用库或服务的老本效益等式,心愿这能够节俭一些工夫,并做出更理智的决定。
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) 进行身份验证。