最新公告
  • 欢迎您光临极客文库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 概念

    SSO 英文全称 Single Sign On,单点登录
    在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。
    比如:淘宝网(www.taobao.com),天猫网(www.tmall.com),聚划算(ju.taobao.com),飞猪网(www.fliggy.com)等,这些都是阿里巴巴集团的网站。在这些网站中,我们在其中一个网站登录了,再访问其他的网站时,就无需再进行登录,这就是 SSO 的主要用途。

    好处

    用户角度

    用户能够做到一次登录多次使用,无需记录多套用户名和密码,省心。

    系统管理员角度

    管理员只需维护好一个统一的账号中心就可以了,方便。

    新系统开发角度

    新系统开发时只需直接对接统一的账号中心即可,简化开发流程,省时。

    技术实现

    流程图

    流程介绍

    如果没这个介绍,看上图肯定是懵懵的。
    系统A和系统B都是前后端分离的,比如前端框架用的 React / Vue / Angular,都是通过 NPM 编译后独立部署的,前后端完全通过HTTP接口的方式进行交互,也有可能前后端项目的域名都不一样。
    SSO认证中心不是前后端分离的,就是前端代码和后端代码部署在一个项目中。
    为什么用这两种情况呢?
    其实就是为了,在流程图上出现这两种情况,这样的清楚了,后期改成任何一种就都清楚了。
    试想一下:
    三个系统都是前后端分离的情况,流程图应该怎么调整?
    三个系统都不是前后端分离的情况,流程图应该怎么调整?

    对外接口

    系统A和系统B:用户退出接口。
    SSO 认证中心:用户退出接口和token验证接口。

    登录

    如上述流程图一致。
    系统A和系统B:使用token认证登录。
    SSO 认证中心:使用会话认证登录。
    前后端分离项目,登录使用token进行解决,前端每次请求接口时都必须传递token参数。

    退出

    上图,表示的是从某一个系统退出的流程图。
    退出,还可以从SSO认证中心退出,然后调取各个系统的用户退出接口。
    当用户再进行操作的时候,就会跳转到SSO的登录界面。

    Token 生成方式

    创建全局会话可以使用session,将session存储到redis中。
    令牌的生成可以使用JWT。
    PHP JWT参考地址:https://github.com/lcobucci/jwt
    当然还可以自定义token的生成方式。

    小结

    讲解了什么是SSO,以及SSO的用途与好处,同时根据流程图一步步进行梳理,基本上就可以实现了。
    期间遇到任何问题,都可以关注公众号和我进行交流。

    扩展

    SSO与OAuth的区别

    谈到SSO很多人就想到OAuth,也有谈到OAuth想到SSO的,在这里我简单的说一下区别。
    通俗的解释,SSO是处理一个公司内的不同应用系统之间的登录问题,比如阿里巴巴旗下有很多应用系统,我们只需要登录一个系统就可以实现不同系统之间的跳转。
    OAuth是不同公司遵循的一种授权方案,也是一种授权协议,通常都是由大公司提供,比如腾讯,微博。我们常用的QQ登录,微博登录等,使用OAuth的好处是可以使用其他第三方账号进行登录系统,减少了因用户懒,不愿注册而导致用户流失的风险。
    现在一些支付业务也用OAuth,比如微信支付,支付宝支付。
    还有一些开放平台也用OAuth,比如百度开放平台,腾讯开放平台。

    SSO与RBAC的关系

    如果企业有多个管理系统,现由原来的每个系统都有一个登录,调整为统一登录认证。
    那么每个管理系统都有权限控制,吸取统一登录认证的经验,我们也可以做一套统一的RBAC权限认证。
    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » 系统的讲解 – SSO单点登录

    常见问题FAQ

    如果资源链接失效了怎么办?
    本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
    如果用户分享的资源与描述不符怎么办?
    可以联系客服QQ:2580505920,如果要求合理可以安排退款或者退赞助积分。
    如何分享个人资源获取赞助积分或其他奖励?
    本站用户可以分享自己的资源,但是必须保证资源没有侵权行为。点击个人中心,根据操作填写并上传即可。资源所获收益完全归属上传者,每周可申请提现一次。
    如果您发现了本资源有侵权行为怎么办?
    及时联系客服QQ:2580505920,核实予以删除。

    Leave a Reply

    Hi, 如果你对这款资源有疑问,可以跟我联系哦!

    联系发布者

    Leave a Reply

    Hi, 如果你对这款资源有疑问,可以跟我联系哦!

    联系发布者
    • 102会员总数(位)
    • 3674资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 135稳定运行(天)

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多
    成为赞助用户享有更多特权立即升级