SSO单点登录

什么是单点登录

随着互联网大数据不断发展,应用服务的不断增多,单点登录越来越能够凸显其作用。单点登录 SSO(Single Sign On),顾名思义就是单个节点登录,全局使用。是目前最为流行的统一登录解决方案。

为什么使用

目的就是为了快速实现用户认证,统一管理用户信息, 避免重复维护用户数据; 分离用户与业务数据,让业务 服务专注于业务功能的实现,让用户中心服务统一认证,减少频繁认证次数, 同时保障数据的安全性。

应用场景

  • 内部的服务统一认证与授权,比如电商网站, 内部的用户服务、订单服务、库存服务、资金服务等,以 用户服务作为认证服务中心, 实现统一认证与授权。
  • 外部的第三方登录认证与授权,比如登录某个论坛网站, 可以采用FaceBook或者Google账号进行登录。
  • 云服务应用,比如使用阿里云的消息推送服务,但不想创建和管理用户,就可以采用基于SAML协议实现 SSO单点登录。

淘宝天猫登录场景解析

访问淘宝网站, 登录之后, 再访问天猫网站, 你会发现, 天猫也是处于登录状态,那么具体是如何实现的?

登录技术方案分析

淘宝登录:

天猫登录:

目前整个登录体系是以淘宝作为中心,天猫通过淘宝作鉴权登录。整个鉴权体系是采用跨域cookie + 分布式 session作为解决方案:
淘宝是如何解决Cookie跨域问题,目前淘宝是采用如下方案做处理:
通过内嵌iframe,访问统一域名,实现Cookie信息共享,如果禁用Cookie,你会发现无法正常登录;同时利用静态资源不受同源策略的限制,通过JSONP跨域方式来获取用户的登录状态。

Response会返回Token信息:

var userCookie= {dnk:'',_nk_:'',_l_g_:'',ck1:'',tracknick:'',mt:'ci=0_0',l:'eBMMyMa4QmFJBq7pBO5aourza77T3Id b4sPzaNbMiInca6BPO3JuhNQqw5H95dtjgtC3xetzm21B9dLHR3fRwxDDBTJbWMu‐ exvO.',uc1:'',t:'aa749f01717bd2e29ccacc35701ebef7',unb:'',cna:'y4PeFr/mbEoCAXQZX0Z2u8bq',_t b_token_:'e6163b18b5154',version:'4.0.0'};window.TB && TB.Global && TB.Global.run && TB.Global.run();

淘宝是如何解决分布式Session管理问题呢? 为了解决此问题,淘宝专门推出两个重要产品: 第一个是tbsession, 基于Tair缓存体系实现的共享Session; 另一个是passcookie,解决不同域名之间Cookie 同步的问题,上述的登录鉴权Cookie信息就是通过passcookie实现的统一管理。 淘宝是如何防范Session劫持?
CSRF/XSRF 攻击的原理,就是利用浏览器对嵌入资源不做限制的行为进行跨站请求伪造攻击, 比如

SSO登录架构设计

SSO登录实现流程解析

  1. 用户进入淘宝登录页面,调用地址: https://login.taobao.com/newlogin/login.do
  2. 调用成功之后,同步Cookie,保存Token认证信息。
  3. 访问天猫网站,从Cookie里面拿取Token信息,采用jsonp方式,获取淘宝的登录状态:
  4. 如果不是从淘宝登录, 由天猫发起登录,会请求至淘宝登录页面, 登录完成之后写入Cookie信息, 再返 回至天猫网站。

深入浅出单点登录---1、什么是单点登录相关推荐

  1. 单点登录系统SSO概述 | 单点登录讲解(1)

    本项目主要讲解的是单点登录系统的原理及其实现. 本章主要讲解的是单点登录系统的概述部分. 单点登录 单点登录顾名思义就是从一个系统进行登录操作,就可以访问其他附近的系统.单点登录避免了用户重复的登录过 ...

  2. php js登录,php+js实现单点登录

    php+js实现单点登录 2020年08月14日 00:45:23阅读数:110 登录信息表 DROP TABLE IF EXISTS `fly_admin_login_info`; CREATE T ...

  3. 用户登录问题python_Python Flask单点登录问题

    1. 什么是单点登录? 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的 ...

  4. 挑战用五行代码轻松集成登录系统,实现单点登录

    随着企业业务的发展,OA 系统.财税系统.CRM 系统等各类系统只增不减,权限管理也日渐力不从心.很多企业都在寻找这样一种服务--员工只需登录个人 OA 系统的账号密码,就可以访问飞书.销售易.客户系 ...

  5. SSO单点登录-基于cookie的单点登录

    1.概述 单点登录(Single-Sign-On),简称SSO,它的解释为:在多个应用系统中,只要登陆一次,便可以访问其它相互信任的系统.早期系统由于只有一个服务,因此只需要登录一次,就可以访问系统的 ...

  6. 什么是单点登录?怎么样实现单点登录

    单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得 ...

  7. 一站式登录授权系统(单点登录+授权管理)

    项目地址 https://github.com/minlingchao1/auth-center 项目说明 auth-center是一个轻量级的权限管理系统.其核心目标是实现公司内部各个系统的权限的集 ...

  8. 单点登录技术:微软Passport单点登录协议和自由联盟规范

    原文地址:http://www.poluoluo.com/jzxy/201109/142060.html 随着互联网络应用的普及,越来越多的人开始使用互联网上提供的服务.然而目前提供服务的网站大多采用 ...

  9. usmssosetup 单点登录被禁用_SSO单点登录三种情况的实现方式详解

    单点登录(SSO--Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子系统--百度经验.百度知道.百度文库等 ...

  10. usmssosetup 单点登录被禁用_SSO(单点登录)实施中遇到的几个问题

    单点登录应用中,遇到如下的几个问题:1.超时问题:2.jsessionid问题:3.单点退出时有时子系统未能正常退出:4.有些请求路径不需要单点登录过滤器拦截:5.不同应用服务实现可能要求SSO客户端 ...

最新文章

  1. python编程入门与案例详解pdf-这些年我读过的技术经典图书(附电子版下载地址)...
  2. java for与foreach_java中for和foreach的区别是什么?
  3. 网页按钮跳转位置_RPA工具BizRobo!之运用网页数据处理
  4. 阿里云OSS-对象存储流程梳理演示
  5. Linux下ctrl+c,ctrl+z,ctrl+d的区别
  6. 开发经验漫谈 -- Git在开发流程中的运用
  7. 实时媒体AI,打破内容创作天花板,加速视频创新
  8. Python机器学习:梯度下降法009更多讨论
  9. 编译原理算符分析器实现 -* c语言代码,编译原理论文-词法分析器的设计与实现...
  10. 数字信号处理--7.3--FFT算法
  11. iometer使用教程linux,Iometer磁盘测试工具中文使用说明手册 二
  12. Android开发之日期、时间选择器(DatePicker和TimePicker)的功能和用法
  13. 优秀的程序员是不用过圣诞节的
  14. 解决android.support.multide... keeps stopping问题
  15. Cow Hopscotch G
  16. UVa 220 黑白棋 算法竞赛入门经典 习题4-3
  17. 电脑解锁后黑屏有鼠标_电脑开机黑屏就剩鼠标怎么回事?
  18. 于Cd(Ⅲ)金属有机骨框架的新型造影剂Cd-MOF/Gd-DTPA/DMPE-DTPA-Gd-DMPE/
  19. 无套路,鬼灭之刃同人游戏
  20. SSH远程ubuntu【无公网IP、内网穿透】 1-3

热门文章

  1. 【时序】WaveNet 音频生成模型论文笔记
  2. 报错解决——腾讯QQ安装无法正常安装
  3. 每天一剂Ext良药(二)
  4. 自媒体运营工作内容有哪些?剑走偏锋的运营思路
  5. 第四次挥手后等待的2MSL到底是多久?
  6. from pytorch3d import _C报错
  7. C语言实践(一)实现成绩输入排序和再插入排序
  8. Vue.js+uniapp青少年大学生心理健康科普系统 java php python微信小程序
  9. 蓝桥 墓地雕塑 JAVA
  10. JS为什么要延迟加载,有哪些方法可以实现延迟加载?