项目概览
该文档系统梳理了对接钉钉、飞书、企业微信三大平台实现单点登录(SSO)的完整流程。文档首先阐述了没有SSO时企业面临的多账号管理成本大、审计困难等痛点,并解释了为何需要对接这三家主流协作平台。核心思想是将身份认证从各业务系统中剥离,交由统一的信任中心处理。文档详细介绍了OAuth 2.0授权码模式及OIDC协议的原理,对比了三大平台在协议支持、Token格式、开发体验等方面的差异。针对每个平台,文档提供了前置条件、时序图、关键接口速查等具体对接指引。此外,文档还涵盖了统一SSO架构设计、用户表设计、核心代码示例等工程落地内容,并列举了企业内部多系统统一登录、B2B SaaS多租户接入、移动端H5免登等真实应用场景。
解决什么问题
文档指出,在没有SSO时,中大型企业内部通常存在OA、ERP、CRM、HR系统以及Jira、Confluence、GitLab等众多系统,员工入职需开通多个账号,离职需关闭多个账号,管理成本大且容易遗漏;同时无法统一追踪谁在什么时间访问了什么系统,审计困难。文档认为钉钉、飞书、企业微信已是国内企业协作的事实标准,对接这些平台可实现组织架构同步、移动端无缝接入和统一通讯录,从而解决上述痛点。
工作方式
文档提出将身份认证从各业务系统中剥离,交由统一的信任中心(IdP)处理,业务系统只认信任中心签发的通行证。核心流程采用OAuth 2.0授权码模式:用户点击登录后跳转至平台授权页,用户同意后平台回调携带code,业务后端用code换取Token并获取用户信息,最后创建本地会话。关键原则是授权码只在前端流转一次,Token交换全部在后端完成,确保AppSecret不暴露。飞书默认使用OIDC协议,钉钉新版推荐OIDC,企业微信使用OAuth 2.0。文档还给出了统一SSO架构设计,包括SSO Gateway统一入口、Session Store会话管理、Token Issuer本地Token签发等组件,并提供了用户主表和第三方账号绑定表的SQL设计示例。
核心能力
- 支持钉钉、飞书、企业微信三大平台统一认证
- 采用OAuth 2.0授权码模式,Token交换在后端完成
- 飞书默认OIDC,id_token可本地验证JWT签名
- 钉钉新版OIDC模式可直接解析用户身份信息
- 企业微信支持网页授权、扫码登录、静默授权三种方式
- 提供统一SSO Gateway架构,支持多业务系统接入
- 支持组织架构同步和统一通讯录
- 提供用户表与第三方账号绑定表设计
- 提供Spring Boot核心代码示例
使用前需要了解
- AI 整理 · 本地测试,未经人工复核;依据历史报告节选,不代表当前产品状态。
- 文档未说明该方案的具体部署环境、性能指标、安全合规要求或运维监控方式。文档未说明对旧版API的兼容策略,仅提及钉钉新旧API并存容易混淆。文档未说明多租户场景下的数据隔离方案。文档未说明失败重试、异常处理等容错机制。文档未说明该方案是否支持除钉钉、飞书、企业微信之外的其他身份提供方。文档未说明具体的授权范围(scope)最小化原则或权限审批流程。文档未说明Token刷新机制的具体实现细节,仅提及钉钉和飞书支持refresh_token,企业微信无刷新机制需重新授权。

