什么构成一个好的身份和访问管理解决方案
探讨有效的 IAM 解决方案的关键要素,包括用户体验、安全性、集成能力、文档、成本效益、支持以及基于 Logto 在为开发者服务中积累的经验的未来准备性。
在为企业客户和开发者服务超过三年的时间里,我们在 Logto 深入理解了公司在身份和访问管理(IAM)领域面临的挑战和需求。
基于我们的实际经验、与用户的日常对话以及行业趋势的跟踪,我们对是什么构成了一个好的 IAM 解决方案有了更清晰的认识。本文中,我想分享一些我们的想法和经验教训。
易用性和用户体验
IAM 是任何应用程序的入口。它通常是用户看到的第一件事。一个困难或混乱的系统不仅增加了开发者的工作量,也直接损害了最终用户的体验。
我们相信用户体验有两个方面:开发者的体验和最终用户的体验。
开发者体验
在开始构建 Logto 之前,我们对现有的 IAM 解决方案进行了大量研究。许多开发者都有同样的挫败感——很难找到一个既强大又容易使用的解决方案。
例如,一家连锁餐厅的 CTO 告诉我们,他们最初尝试部署 Keycloak,这是一个知名的开源解决方案。然而,他们发现设置过程非常复杂。他们必须学习许多概念,并理解不同资源是如何组织的。即使花费了大量时间,他们的团队成员仍然难以理解。此外,他们对默认登录页面的用户界面质量表示不满。最终,他们决定不再使用它。
我们听到了许多类似的故事。表面上,IAM 看起来很简单——它只是关于用户登录。但一旦涉及到现代需求,如 OAuth 2.0、OpenID Connect、社交登录、多因素认证(MFA)和单点登录(SSO),事情就会变得复杂。如果添加 API 访问控制、RBAC、用户组和权限等功能,糟糕的系统设计会使一切变得更加困难。
这激励我们尽可能减少用户的心理负担。在 Logto 中,我们从普通开发者的角度进行设计。我们使每个模块和功能都清晰明了,将快速入门指南嵌入到 UI 中,并提供易于使用的 SDK。
最终用户体验
对于最终用户,登录和授权页面应该看起来干净、现代且容易使用。良好的设计使体验愉快,并且无需额外工作即可适应大多数产品风格。
许多客户告诉我们,他们选择 Logto 的原因之一是因为我们的开箱即用的登录页面美观且用户友好。
但这只是基础。开发者通常希望登录页面能与他们的品牌风格相匹配。因此,Logto 支持全面的品牌定制,包括主要颜色、品牌名称、徽标以及在暗色和亮色模式下的不同设置。我们还允许自定义 CSS,并附有详细的文档,以便登录流程的每个部分都能与他们的产品风格相匹配。
尽管如此,一些开发者希望有更多的控制权。他们想从头构建自己的登录页面。为满足这一需求,我们引入了“自带 UI”功能,以及一套经验丰富的 API,帮助开发者创建自己的流程。
通过这些选项,开发者可以完全控制最终用户的登录体验,无论是使用 Logto 的页面还是自行构建。
安全性
安全性是所有软件系统的基础。它是 IAM 解决方案绝对不能妥协的底线。
对于最终用户,仅凭用户名和密码已不再足够安全。一个现代系统必须支持更安全的方法,如无密码登录(电子邮件或短信)、社交登录、企业 SSO 和多因素认证(MFA)。
对于开发者,系统还必须提供强有力的安全保护:CAPTCHA、标识符锁定、CSRF 保护、DoS 保护、JWT 和 cookie 的签名密钥轮换、OIDC 的后端通道注销等。
Logto 不仅支持所有这些,还遵循以下关键原则:
-
始终开源
所有核心的 Logto 组件都是开源的,完全透明。这允许社区和第三方安全专家审计代码,用户也可以自行验证。我们相信开源监督对于真正的安全至关重要。 -
严格遵循标准协议
Logto 坚持使用被广泛接受的标准,如 OAuth 2.0、OpenID Connect 和 SAML 2.0。这些标准经受了时间的考验,有助于确保兼容性和安全性,避免自定义实现的风险。 -
合规性
Logto 符合主要的安全和隐私合规要求,并已获得 SOC 2 Type II 认证。我们随时关注法律法规的变化以确保用户数据的安全。