Auth0 开源替代方案 Ory Kratos 现已支持无密码登录和 SMS

Ory Kratos 发布了一个开源版本,作为 Auth0 风格技术栈中的一个组件,并新增了无密码登录和基于 SMS 的认证,这引发了关于安全权衡与现实可用性的讨论。评论者将 SMS 众所周知的弱点(SIM 换卡、SS7 漏洞、账户恢复滥用)与其普及性和对非技术用户及某些市场的简洁性进行对比,并指出在某些受监管和企业环境中,它仍然是事实上的要求。讨论串还涉及与 Authentik、Keycloak、FusionAuth 和 ZITADEL 等替代方案的比较,以及部署复杂性和默认回传的内置遥测所带来的担忧。

用于身份验证的 SMS 与安全性担忧

  • 讨论的焦点是是否应支持用于认证/MFA 的 SMS。
  • 批评者认为 SMS 不安全,因为存在 SIM 换卡、SIM 克隆、SS7 弱点、空中拦截以及对运营商的社会工程攻击;并链接到多个现实世界的漏洞事件(例如重大黑客攻击、金融盗窃、监管机构攻击)。
  • 有人指出,SMS 2FA 往往会退化成“唯一因素”,因为它被用于密码重置和账户恢复,从而创建了额外的账户接管路径。
  • 也有人认为,作为第二因素(绝不用作重置,也绝不作为唯一因素)的 SMS,仍然明显优于仅密码,尤其适合非技术用户和以手机号作为主要标识的地区。
  • 还有人担心号码回收、手机丢失、漫游问题,以及手机号更换频繁会让 SMS 作为标识符变得脆弱。

产品范围、复杂性与对比

  • Kratos 被称赞为功能强大、可用于生产的身份解决方案,支持 MFA、无密码登录、WebAuthn,以及现在的 SMS 和以手机号优先的支持。
  • 一些用户觉得它配置和集成都很复杂,尤其是自定义 UI 和基于 jsonnet 的配置;维护者表示最近的发布和 CLI 工具已改进了这一点。
  • 与 Auth0、Authentik、Keycloak、Casdoor、Zitadel、FusionAuth、WorkOS 和 Stytch 的对比:
    • 有人认为,若不与其他 Ory 服务(OAuth2、authZ)结合,Kratos 只是完整 Auth0 替代方案中的“一个组件”。
    • 也有人认为,对许多以应用为中心的用例来说,它单独使用已经足够。
    • 少数人更偏好其他替代品,因为它们更简单,或更适合现有应用或 B2B/组织特定策略。

B2B SaaS 与多租户用例

  • 多位参与者讨论了按组织设置规则的需求(MFA、密码策略)、按邮箱域名路由,以及向客户的 IdP 提供 SSO。
  • 提到了 Ory 的“B2B organizations/SSO”功能,但文档被认为较为薄弱;高级配置可能需要付费层级。

遥测与隐私担忧

  • 有人强烈批评 Kratos 默认“回传数据”,即使禁用了遥测也一样,会发送带有 IP 的最小版本/使用情况 ping。
  • 支持者表示,遥测有明确文档说明,数据最小,仅用于质量和使用洞察,并且可以在网络层面禁用或阻止。
  • 一些人认为任何未经同意的遥测都是不道德的“间谍软件”,尤其是在安全产品中;另一些人则认为这种反应过度。