为何我们放弃SCIM自研目录同步
Building reliable (and fast) directory sync
企业应用中,用户和组的权限管理至关重要,而目录同步(directory sync)是连接身份提供商与应用的核心环节。虽然SCIM标准看似完美,但实际落地中,不同身份提供商如Okta、Entra、JumpCloud在实现细节上差异巨大,导致代码复杂且脆弱。我们最终选择放弃SCIM,转而构建基于拉取(pull-based)的同步引擎。通过直接调用各提供商API、处理分页、稳定ID、嵌套组循环等挑战,并引入断点续传和一致性保障机制,我们打造了一套更可靠、更可控的同步方案。这篇文章详细拆解了目录同步的底层逻辑与工程实践。
现实是,你最终得到的不是统一的实现,而是针对不同身份提供商的SCIM代码路径,用来抹平各种不一致。