美文网首页
单点登陆SSO的技术原理

单点登陆SSO的技术原理

作者: 胖三斤66 | 来源:发表于2020-03-04 19:07 被阅读0次

定义:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。

例子:比如淘宝和天猫,只要登陆其中一个系统,再进入另一个系统就不需要登陆。

核心问题:就以淘宝和天猫为例,存在两个问题:

  1. 淘宝和天猫的域名不相同,且 Cookie 不支持跨域使用
  2. 淘宝和天猫的服务器肯定也不是同一个,session 无法共享。

解决方案1

  • 思路:将 Cookie 所在域设置为顶级域名;Session 的存储在多个服务器共享的存储设备上
  • 缺点:相互信任的系统并不存在共同的顶级域名,本方案就无法使用。
    PS : 本方案并不是真正意义上 SSO 实现

解决方案2:

  • 思路:将认证功能独立形成 CAS(Central Authentication Service),访问各个相互信任的系统时,都重定向到 CAS 进行身份验证。
  • 实现流程,简短描述:
    1. 用户访问 A 系统;A 系统重定向到 CAS 中
    2. 由于用户没登陆,重定向访问 CAS 是没携带数据,当 CAS 判断用户未登陆,则返回登陆页面
    3. 用户登陆,CAS 验证后生成 session、cookie和 token,并重定向到 A 中(其中cookie和ticket保存在客户端中)
    4. 用户重定向访问 A ,此时会携带 token。
    5. A 会将 token 交给 CAS 验证。验证通过后,A 生成session和cookie。【此时A登陆成功,而后与 A 交互,依靠 A 生成的 session和cookie】
    6. 用户访问互相信任的 B 时,B 也会重定向到 CAS
    7. 由于之前在 CAS 下设置了 cookie,本次访问 CAS 会携带 cookie
    8. CAS 根据 cookie 验证通过后,生成一个新的 token 返回给用户,并重定向到 B
    9. 用户重定向访问 B 并携带该 token
    10. B 去 CAS 验证 token。验证通过后,B 生成 session 和 cookie,而后用户和 B 的交互依靠这对 session 和 cookie。
  • 实现流程,详细描述:


    基于 CAS 实现的 SSO 原理

参考:
[1] 单点登录(SSO)看这一篇就够了-云栖社区-阿里云
[2] 什么是单点登录(SSO) - 掘金

相关文章

  • 单点登陆SSO的技术原理

    定义:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。 例子:比如淘宝和天猫,只要登陆其中一个...

  • 『黑马程序员济南』单点登录的原理

    『黑马程序员济南』单点登录的原理 1.单点登录SSO的实现原理 单点登录SSO(Singl...

  • 『黑马程序员济南』单点登录的原理

    『黑马程序员济南』单点登录的原理 1.单点登录SSO的实现原理 单点登录SSO(Single S...

  • 【学习笔记】单点登录

    参考文章:SSO单点登录实现原理与总结

  • 单点登录的原理

    一、单点登录的概念 1、什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的...

  • sso

    sso单点登陆https://www.cnblogs.com/ywlaker/p/6113927.html

  • SSO单点登陆

    最近项目做一个统一portal,各个应用模块统一入口,人员账号统一。单点登陆时序图 在日常调试过程中遇到的跨域问题...

  • 单点登陆(SSO)

    一、前言 1.SSO说明 SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需...

  • 单点登陆

    1.SSO搭建(框架KISSO) 2.CAS实现单点登录SSO执行原理探究(终于明白了)

  • 单点登录介绍

    标签:sso iplas 一、SSO(单点登录)介绍 SSO英文全称Single SignOn,单点登录。SSO是...

网友评论

      本文标题:单点登陆SSO的技术原理

      本文链接:https://www.haomeiwen.com/subject/osyichtx.html