SSO实现

组成部分

  1. 业务系统A
  2. 业务系统B
  3. SSO认证中心

基本介绍

系统A, B没有登陆界面,登陆操作由SSO认证中心统一完成。通过跳转完成参数传递。
系统A,B的代码基本不用变化。只需新增第一次去SSO认证中心验证check_token的代码。

验证流程

  1. 用户从系统A登陆,系统A后台判定用户有没有权限,没有:第二步,有:验证结束。
  2. 前端自动跳转到SSO认证中心, url参数带上系统A的返回地址。
  3. SSO验证中心,判断有没有存储access_token, 没有:第四步, 有:第五步。
  4. 用户在SSO认证中心输入用户名和密码,拿到access_token
  5. 验证access_token, 判断有没有过期, 没有:第六步, 有:第四步。
  6. SSO认证中心存储access_token【以便下次用户登陆其他系统获取】【可用localStorage存储】。
  7. 用户跳转回系统A, 跳转地址为第一步的url参数,同时带上access_token
  8. 系统A拿到access_token,传回后台,后台与SSO认证中心进行通信,如果验证成功,将用户在系统A的用户身份信息【比如用户名,用户id】返回给系统A后台,验证失败,执行第二步。
  9. 系统A根据自身验证授权机制【cookie, session】进行接下来的操作。
  10. 系统A登陆过程完成。
  11. 当用户转入系统B, 执行步骤等同于系统A的验证步骤。

注意事项

  1. SSO验证平台要管理用户名和密码
  2. SSO验证平台要管理自身用户名和各个业务系统用户身份信息的映射关系。
  3. SSO验证平台要管理可接入的业务系统信息【比如系统后台IP】,用来确定验证请求需要的身份信息。

缺点

  1. SSO验证平台在每一个业务系统接入需要配置用户映射。
  2. 管理力度弱,无法共用一套组织架构和用户权限信息。【相对来说,如果对已有系统进行SSO改造,这也是优点。】
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,077评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,185评论 19 139
  • 这篇文章介绍了Mobile BI(移动商务智能)使用过程中涉及的各种身份认证的方式,主要目的是对这些方式的原理进行...
    雨_树阅读 2,114评论 1 2
  • 零、耶鲁CAS SSO(支持跨域、子会话) 《SSO CAS单点系列》之 实现一个SSO认证服务器是这样的! 一....
    k1ic阅读 321评论 0 0
  • 这个点宝贝睡了,感谢步爸又“牺牲”了一回,没有一点“董存瑞炸碉堡”的精神还真干不了陪睡工作。我琢磨着吃块冰西瓜...
    四夕三土阅读 170评论 0 0