来源:https://css-tricks.com作者:RobinRendle“在两周内为我构建一个用户认证系统”是如今研发团队的一句俗语。由于种种原因,这个任务交由团队中的开发人员来解决。一方面,你真的不想浪费很多时间。另一方面,您担心此类信息最好由您内部编写的服务处理,以便以后可以更好地扩展。随着网络上出现新教程(一个好的开始),越来越多的团队正在尝试了解实施自己的解决方案与使用库或服务的成本效益方程式,希望这会节省一些时间并做更多明智的决定。1.PassportJShttps://github.com/jaredhanson/passportPassport不仅仅是一个15k星的用户认证库,它可能是JS开发者最常用的使用外部库进行用户认证的方式。这个库基本上为Node.js提供了相对灵活和模块化的中间件,可以集成到任何基于Express的Web应用程序中。它也是一个社区平台,支持各种常见的身份验证,例如用户名和密码、Facebook、Twitter等。如果您不想实施自己的解决方案,它可能是第一个选项。2.Auth0https://auth0.com/虽然这不是库,而是服务,但这是完成工作的可靠且快速的方法。Auth0是一家(规模相当大的)初创公司,为网络、移动和遗留应用程序提供广泛的通用身份验证和授权平台。有人说它是最接近Plataformatec的RubyonRailsDevise的解决方案,只是您可以使用任何语言与任何应用程序或API进行交互。有超过100个预构建的集成。3.Permithttps://github.com/ianstormtaylor/permitPermit是一个1kstar项目,为构建Node.jsAPI提供“无限制”的身份验证库。Permit允许您向任何Node.jsAPI添加身份验证层,并可与Express、Koa、Hapi和Fastify等框架一起使用。它可以与从REST到GraphQL的多种类型的API一起使用,因此它是一种“非规范化”设计。Permit旨在专注于API(无状态请求)和Express以外的支持框架。它还在积极开发中,使“许可”成为一个值得考虑的有趣选项。4.授予https://github.com/simov/grant一个相当新的和有前途的库,它为Express、Koa和Hapi提供OAuth中间件,有超过180个支持的提供者和一个现场游乐场。如果您想将它与您自己的私有OAuth提供程序一起使用,您可以自己指定所需的密钥。虽然库已经开始受到关注(超过1Kstars),但是资源比较匮乏,请谨慎尝试。5.Feathers认证管理https://github.com/feathers-plus/feathers-authentication-managementFeathers是一个开源的(11Kstars)NodeJS实时微服务web框架,可以让你使用RESTful资源,sockets和flexibleplug-ins控制数据。Feathers还提供了鉴权和鉴权管理模块,允许你在本地Feathers鉴权中添加注册验证、忘记密码重置等功能。这个想法是在一个灵活的基础设施中结合不同的身份验证方法。6.只需使用Firebase身份验证(适用于小型应用程序)https://blog.bitsrc.io/react-oauth-authentication-with-firebase-dfe0e8c5d0d4这可能不一定是在您的扩展平台长期解决方案中管理用户授权(是吗?),但是,对于通过Firebase部署的应用程序,这是一种非常有用的方法,可以快速轻松地完成工作。Firebase身份验证提供后端服务、一个易于使用的SDK和一个随时可用的UI库来对您的应用程序的用户进行身份验证。它支持使用密码、电话号码、流行的联合身份提供商(如Google、Facebook和Twitter)进行身份验证。本文转载自微信公众号“前端全栈开发者”,可通过以下二维码关注。转载本文请联系前端全栈开发公众号。
