企业上了三个系统,员工要记三套账号密码。IT说做了单点登录,实际只是把登录页嵌了过去,密码还是各存一份。员工改密码只改了一个,其他系统登不进去,天天找IT。
协议先选对
常见的是SAML、OAuth2.0跟OIDC和CAS。企业内部系统间用SAML或OIDC比较多,接入第三方应用常用OAuth2.0。选哪个,主要看现有系统和目标应用支持什么。不建议自己造一套。
看着简单,实际要处理的场景很多:令牌过期以及刷新跟注销和多标签页同步。自己写的方案往往只覆盖了登录那一步,后面全是坑。同一个员工在不同系统里可能有不同的用户名。所以要有一个唯一标识做映射,通常是工号或者邮箱。
账号映射要唯一
这个映射关系要维护在身份系统里,不能靠各系统自己猜。映射错了会出现"张三登录看到李四的数据",这是最严重的问题。所以初始化映射要人工核对,后续新增用户走流程,别用姓名自动匹配。
员工离职,HR系统停用账号,但业务系统里还留着。这个人如果还能登录,就是安全隐患。所以单点登录要和账号生命周期绑在一起:停用即失效,全部系统同步。实际操作中,很多企业的HR系统和业务系统没打通,靠人工通知。同行都怎么做的?谈不拢怎么办?本编算过一笔账,改起来比新建还贵。
离职同步是最容易被忽略的
这种做法短期能撑,规模一大必漏。返工也有价值。建议至少做到每日同步一次,离职人员当天失效。临了补个实在的:单点登录的核心不是登录方便,是账号统一。源头统一了,权限和审计才管得住。
单点登录的常见疑问
单点登录用什么协议
企业内部常用 SAML 或 OIDC,接第三方应用常用 OAuth 2.0,按现有系统支持情况选择。
账号怎么对应
用工号或邮箱等唯一标识做映射,初始化需人工核对,避免按姓名自动匹配。
离职账号怎么处理
与账号生命周期绑定,源头停用即全系统失效,建议每日同步。
还要考虑外部账号的接入。合作伙伴、外包人员不该占用内部账号体系,应该走访客或者临时授权通道,权限单独界定,到期自动失效。
总结:单点登录的关键是账号统一。协议选对、映射唯一跟离职同步,才管得住权限。