刚开始学习编码时,我经历了比我数不胜数的教程。 我建立了很多待办事项列表应用程序 ,以至于我什至都无法使用待办事项列表,而不必怀疑是否有人将其作为教程来构建,然后将其转化为产品。 我学习了CRUD(创建,读取,更新,删除)。 我学习了框架(React,Angular,Vue)。 我学到了很多东西,但是在每个教程中都缺少一些东西。 关键的东西。
身份验证。
应用程序当然可以在没有数据持久性的情况下运行。 应用程序甚至可以具有数据持久性但无需身份验证即可运行。 但是,每天有多少此类应用有用? 它们往往是玩具和实例,这很好。 但是,无论您是学习编码还是经验丰富的专业人士,总有一段时间需要将特定数据附加到特定用户。 这需要身份验证。 因此,我想看看为开发人员构建的一些可用的身份验证工具,包括免费产品和付费产品,以了解它们之间的比较。 让我们潜入吧!
验证码0
Auth0是一种高级工具,它不仅可以进行身份验证。 它们支持身份监视,用户管理以及计算机之间的经过身份验证的通信,仅列举了几个功能。 我们将专注于身份验证方面。
在免费计划中,Auth0允许以下操作:
-7,000个免费和活跃用户
-无密码登录(社交身份验证)
-最多2个社交身份验证提供商
他们的高级服务起价为每月1000美元,适用于1000位活跃用户,还增加了以下功能:
-日志保留2天
-无限的社交身份验证提供商
-帐户关联
这里要记住的一件事是,如果您处于免费计划中,并且已经有5,000个活跃用户,则升级到下一层并不意味着每月要支付$ 13,因为您已经通过了1,000个用户。 这意味着要根据您当前的活跃用户数来支付实际价格。 这是一种公平的定价策略,但是如果您不密切注意,则很容易混淆。
那么开发者的经验呢?
Auth0提供了一些最佳的文档。 他们有许多SDK和API。 所有这些加起来构成了您自己选择的实现类型。 这是React实现的快照:
![](https://i-blog.csdnimg.cn/blog_migrate/5d5d244d83e4f8a6a9df6025e66d591c.png)
Auth0是大型项目开发人员的可靠选择。 Auth0具有免费的免费层,并随着应用程序的扩展而扩展。
护照
对于希望构建自己的解决方案的开发人员, Passport是他们可能会使用的开源工具。 Passport是完全免费,开源且维护良好的。 虽然密码具有用户名/密码身份验证解决方案,但它们的主要功能却是社交身份验证。 它们具有所谓的策略,这是很大程度上基于OAuth 2.0规范构建的身份验证解决方案。
Passport仅适用于Node.js,因此,如果您要构建非JavaScript应用程序,那么您就不走运了。 但是基于构建的应用程序的增加
完全(或大部分)使用JavaScript,这可能比以前少了一个问题。
感觉如何?
Passport有据可查,并且支持多种选择,开发人员将很难找到适合他们的解决方案。 这是Facebook身份验证策略的示例:
![](https://i-blog.csdnimg.cn/blog_migrate/3a57dcea1578773d811b4924631ead76.png)
很简单 Auth0需要它们提供的API密钥和配置信息,而Passport仅需要身份验证策略的配置信息(clientID,clientSecret等)。
如果您要构建基于节点的应用程序,并且只需要快速,免费
无需花哨的身份验证,Passport是一个不错的选择。
Okta
Okta更像是一种企业解决方案,但是什么都没有(价格除外)
阻止开发人员将其放入非企业应用程序。
Okta同时提供员工身份(请考虑公司内部帐户)
和客户身份解决方案。
定价很难解析,但是在大多数情况下,您需要为每位用户每月支付2美元才能开始他们的服务。
![](https://i-blog.csdnimg.cn/blog_migrate/8b25ca3aec92c3c1605c1c3a5b47c1f9.png)
如果价格还没吓到你,让我们来看看
开发人员的经验就好。 好吧,他们在这里压碎了。 他们不仅拥有大量文档,而且还具有易于使用的小部件,您可以轻松地将其添加到应用程序中。 这是一个例子:
![](https://i-blog.csdnimg.cn/blog_migrate/3497bf740281aab6d854b27e5131b6a9.png)
Okta可能只适用于较大的组织,但如果您是
有预算并且想要简单易用的开发人员,Okta有您
覆盖。
OpenID
OpenID较少是一种身份验证解决方案,而是一种Web标准。 OpenID是OAuth 2.0之上的标识层。 他们正在努力提供的标准不只是身份验证。 他们提供声明,验证,加密等。 这是一个强大的解决方案,
来自希望提高网络标准的基金会。
但是开发人员的体验如何? 如果您正在寻找文档,则可能需要一段时间。 有文档,但是很难浏览和理解。 但是,一旦弄清楚了,就会发现OpenID可以为多种编程语言提供类似于Passport的解决方案。
如果您想构建基于标准的解决方案(这总是一个很好的选择
决定),您应该看看OpenID。 给自己一点
额外的时间来浏览该网站。
简单ID
SimpleID (我的产品)是从Web 3.0空间发展而来的解决方案。
分散式技术存在入门和身份验证问题,SimpleID可以解决该问题。 在此过程中,SimpleID创建了一个身份验证解决方案,使开发人员可以快速访问加密工具,为最终用户提供隐私,并消除了开发人员的大部分(如果不是全部)责任。
SimpleID是一种高级解决方案,但随附有提供以下功能的免费计划:
-通过以太坊,区块链,纺织品进行身份验证
-通过Blockstack和IPFS进行数据存储
-一个开发人员项目
-最多创建500个帐户
因为SimpleID帐户可以在多个应用程序中使用,所以用户总数仅适用于开发人员的应用程序创建的帐户。 如果开发人员已准备好进行规模扩展,则最多可容纳10,000个用户,费用仅为每月9美元。
但是开发人员的经验如何? SimpleID的构建旨在解决分散式Web空间中的常规Web和常规JavaScript焦点。 尽管SimpleID具有非常易于使用的JavaScript SDK,但它还提供了可用于任何编程语言的简单API端点:
![](https://i-blog.csdnimg.cn/blog_migrate/ef86d11bf200a4da44f9cefd797e31a4.png)
如果要开发去中心化的应用程序,则绝对应该看一下SimpleID。 但是,即使您不是,SimpleID也可以为您提供其他服务无法提供的数据保护。
结论
无论您选择哪种解决方案,只要知道身份验证工具
可以帮助您到达需要去的地方。 下次您完成编码教程时,意识到您已经构建了没有登录的应用程序,请返回本文,选择一种可以快速使用的解决方案。
From: https://hackernoon.com/comparing-authentication-tools-for-developers-h83my2d45