简单的说就是在多个应用的系统中,用户只需要登录一次就可以访问权限范围内的所有应用子系统,同样的注销也只需要注销一次。
比如百度这个网站,用户只要登录了百度的官网,那么对于百度百科、百度知道、百度贴吧等网站都是处于登录状态,这就是一个典型的单点登录的例子。
虽然Oauth2.0能够实现单点登录,但是在一些方面还是有些区别的,如下:
Oauth2.0完全可以实现单点登录,但是更加侧重于对于己方资源的保护,了解了这两种的区别才能正确的选择
Oauth2.0实现单点登录非常简单,比如微服务下的各个子系统接入Oauth2.0的认证服务,用户从认证服务获取token后,直接通过网关转发给下游子系统则可以实现只需要一次登录
其实除了Oauth2.0以外,还有很多框架能够实现单点登录,比较经典则是CAS框架
以下是CAS框架的官方流程图。特别注意:SSO是一种思想,而CAS只是实现这种思想的一种框架而已
上面的流程大概为:
整个流程还是相对比较复杂的,当然CAS这个框架的配置也是相对比较复杂,了解过的人都想放弃,关于CAS如何去搭建,在后面会单独介绍
最常见的例子是,我们打开淘宝APP,首页就会有天猫、聚划算等服务的链接,当你点击以后就直接跳过去了,并没有让你再登录一次
Oauth2.0和单点登录的区别需要理解清楚,相对来说Oauth2.0实现单点登录更加简单,CAS虽然能够实现单点登录,但是服务部署和配置更加复杂,不易于上手,当然目前也有很多的系统在使用CAS,在选择的时候开发者根据这些区别和复杂程度去决策。
来源:https://mp.weixin.qq.com/s/K_TelAXMHyWgm4d9v5tGSQ
页面更新:2024-05-11
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号