Keycloak是一个开源软件产品,旨在为现代的应用程序和服务,提供包含身份管理和访问管理功能的单点登陆工具。Authing 是一款企业级的身份认证产品,集成了全部主流身份认证协议,为企业和开发者提供完善安全的用户认证和访问管理服务。编程
开源 or 企业级?
开源软件,即免费让人们用于商业用途的软件,因而可知免费便是它最大的优点。使用开源软件,能够下降开发成本,快速推出本身的产品。同时,开源软件也十分灵活,可以定制和修改源代码。每一个人均可以访问代码,任何人均可以主动修改 bug,使其变得更好,这使得开源软件在开发者群体中得到很多的青睐。安全
开源软件虽然存在着很多的优点,可是面对着复杂的商业环境和市场竞争,开源软件也逐渐暴露出它的问题。首先,开源软件并非彻底免费的,开发者根据本身的意愿开发产品并开放源代码,但这不是消费者的需求,从而致使用户体验下降,须要花费额外的时间或费用得到技术帮助。其次,开源软件的安全性低,当一个开源组件存在漏洞时,这个漏洞会被迅速公布,以便开发者能够执行必要的修复。然而,黑客也能够看到这些信息,他们不须要付出任何努力,就能了解哪些组件易受攻击以及如何进行攻击,这难免会对用户形成潜在的威胁。服务器
因为开源软件能够在互联网上免费获得,所以带来大量用户对 bug 修复的建议。这可能会致使大量的补丁,使得源代码更加复杂,甚至出现结构问题,而这些问题每每都会致使高额的维修费用,产生太高的维护成本。开源软件没有商业利润的刺激,必然缺乏健康的上下游「生态系统」。想要经过开源软件达到商业上的直接获利,必须进行必要的深度开发才可以实现。网络
没有一条裤子适合全部人,没有一款软件适用于全部企业,针对企业的软件解决方案和服务永远比软件产品自己重要。所以,为企业量身定制的企业级软件在市场中脱颖而出,受到更多的关注。函数
企业级软件相较于开源软件,一般是为具备大量特性的大型企业量身定作的。供应商很清楚行业标准和标准公司的需求,并将这些概念包含在他们的编程中,不只能带来专业的技术支持,还能帮助公司保持竞争力。此外,标准的企业级软件是不须要大量的编程工做的,一般都是「开箱即用」,因此,开放源码的特殊诱惑对企业业务来讲是微不足道的,这将大大提高企业效率。此外,企业级软件常常更新,不只升级功能,也修补了漏洞,安全性上比开源软件更有保障。工具
开源软件的出现给广大开发者带来了福音,让开发者省去了重写代码的麻烦,而企业级产品的诞生更是直接解放双手,即取即用,用全面的服务为企业提供安全保障。加密
Keycloak or Authing?
Authing 和 Keycloak 在身份认证和访问管理的解决方案中共同支持许多标准功能,如安全注册和身份验证,OAuth 令牌和 API 密钥管理,单点登陆(SSO)和多因素认证(MFA)等等。 它们也都是免费的,而且能够从活跃的用户社区中得到。开放源代码
为了更好的了解 Keycloak 和 Authing,咱们将两者的功能进行了详细的比较,获得了下图的功能对比表。blog
用户体验 UI/UE
从用户体验角度看,keycloak 控制台是比较传统的工业风格,在交互体验上偏老旧,用户操做不友好。与之相比,Authing 控制台业务逻辑更加友好,业务梳理也更加清晰。生命周期
默认支持的标准认证协议
Keycloak 目前只支持 OIDC 和 SAML2.0 协议,Authing 支持 OAuth 2.0, OIDC, SAML, AD/LDAP, WS-Fed 等所有主流认证协议。
Webhooks 和事件
Keycloak 不支持 Webhooks,但能够经过复杂的扩展 SPI 来定制,实现起来很复杂。Authing 支持 Webhooks,用户池管理员能够在控制台配置各种事件的通知地址,当你的平台有用户注册、登陆、修改我的资料、修改密码时,会自动通知你的服务器。
商业支持
Keycloak 虽然是基于商业应用友好的 Apache Licence 协议,可是 Keycloak 要想商用仍然有一些工做要作,效率很低。Authing 在商业支持上不只有多达 3000 次免费的 API 调用,体验全部功能,还具备开发者版、高级版、企业版等不一样类型的定制服务,全方位地知足客户的商业需求。
安全补丁
Keycloak 做为开源软件,更新速度比较慢。Authing 做为专业企业级软件,会按期发布功能更新和补丁。 对于有平台依赖须要的公司,Authing 还提供了许多支持和托管选项。
用户迁移无需更改密码
Keycloak 不能实现无需修改密码进行用户迁移。Authing 支持经过函数计算的方式执行自定义的密码加密和解密函数,能够自定义密码校验逻辑,让用户无缝迁移到 Authing。
高级许可和合规管理
Keycloak 不具有完善的高级许可和合规管理,但 Authing 具备国际权威安全认证与成熟的信息安全管理体系,对软件全生命周期进行安全保障,拥有可靠的数据安全保护以及全天候安全应急响应措施。
定制功能开发
Keycloak 不提供定制功能开发。Authing 能够根据客户的需求,为企业定制专属的身份认证平台。
秒级安装部署
Keycloak 提供传统的部署方式,如支持多种容器化部署集群,支持集中化配置管理,支持复杂网络环境私有化部署等等。Authing 也一样支持这些,此外,Authing 针对企业级用户提供私有化部署服务,提供一键部署安装包,可以将 Authing 秒级部署到你的企业内部服务器。
Keycloak 做为一款开源软件,在简单的场景下能够作到开箱即用,可是若是想要配置更加复杂的场景,其操做难度和工做量也会正向递增。Authing 做为企业级的专业产品,顺畅且简单,集成所用的时间也更少。若是企业想要快速提升生产效率、加强安全性、推进业务发展,Authing 必定是更正确的选择。