Keycloak 是一个开源软件产品,旨在为现代的应用程序和服务,提供包含身份管理和访问管理功能的单点登录工具。
开源软件虽然能够定制和修改源代码,还可以降低开发成本,但是 Keycloak 实现起来还是有不少问题:
- 用户迁移
Keycloak 不能实现无需修改密码进行用户迁移。 - Webhooks 和事件
Keycloak 不支持 Webhooks,但可以通过复杂的扩展 SPI 来定制,实现起来很复杂。 - 用户体验 UI/UE
从用户体验角度看,Keycloak 控制台是比较传统的工业风格,在交互体验上偏老旧,用户操作不友好。 - 默认支持的标准认证协议
Keycloak 目前只支持 OIDC 和 SAML2.0 协议,而不支持 OAuth 2.0, OIDC,SAML, AD/LDAP, WS-Fed 等认证协议。 - 安全补丁
Keycloak 作为开源软件,更新速度比较慢。
总的来说,Keycloak 作为一款开源软件,在简单的场景下可以做到开箱即用,但是如果想要配置更加复杂的场景,其操作难度和工作量也会正向递增。
往大了讲,面对着复杂的商业环境和市场竞争,开源软件本身就存在许多共性的问题。
首先,开源软件并不是完全免费的。开发者根据自己的意愿开发产品并开放源代码,但这不是消费者的需求,从而导致用户体验降低,需要花费额外的时间或费用获得技术帮助。
其次,开源软件的安全性低。当一个开源组件存在漏洞时,这个漏洞会被迅速公布,以便开发者可以执行必要的修复。然而,黑客也可以看到这些信息,他们不需要付出任何努力,就能了解哪些组件易受攻击以及如何进行攻击,这不免会对用户造成潜在的威胁。
还记得去年年底,一个堪称核弹级的漏洞被曝出。
Apache Log4j-2 是一个开源的日志记录组件,使用范围广泛。然而,其中却存在 JNDI 注入漏洞。当程序将用户输入的数据进行日志记录时,即可触发此漏洞。一旦成功利用此漏洞,就可以在目标服务器上远程执行任意代码。
再次,由于开源软件可以在互联网上免费得到,因此带来大量用户对 bug 修复的建议。这可能会导致大量的补丁,使得源代码更加复杂,甚至出现结构问题,而这些问题往往都会导致高额的维修费用,产生过高的维护成本。
况且,没有一条裤子适合所有人,没有一款软件适用于所有企业。
哪怕如 Keycloak 这样基于商业应用友好的 Apache Licence 协议的开源产品,要想商用仍然有一些工作要做,效率很低。
实际上,针对企业的软件解决方案和服务永远比软件产品本身更重要。
像 Keycloak 一样做身份管理和访问管理的,还有不少企业级的产品。
如果偏向于电商,那可以考虑阿里云,阿里云的最早一批用户都是基于淘宝生态的 ISV 服务商。
如果偏向于文娱,可以考虑腾讯云,他们在这个行业积累的资源、提供的解决方案和产品组件更加合适有类似需求的用户。
国内两大头部云厂商,云服务器性能都还是不错的,数据可靠性倒是有一些坊间传言说有丢失用户数据的…
而就中小企业来说,随着企业业务的发展,OA 系统、财税系统、CRM 系统等各类系统只增不减,身份认证不再是件小事。
又想上云,又想考虑性价比的话,IDaaS 中不乏 Authing 这种专业做单点登录的厂商,可能更符合这类企业级的需求。腾讯云的普惠上云价格也还可以,轻量应用服务器这种比阿里便宜。
不过,每个企业的实际需求五花八门。Authing 针对企业级用户提供私有化部署服务,提供一键部署安装包,能够将 Authing 秒级部署到企业内部服务器。
总之,找到适合自己的专业产品,顺畅且简单,集成所用的时间也更少。如果企业想要快速提高生产效率、增强安全性、推动业务发展,还是得找企业级的产品。
点击链接,立刻了解 Authing!