sso单点登录都有哪些实现方式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sso单点登录都有哪些实现方式?相关的知识,希望对你有一定的参考价值。

1.以Cookie作为凭证媒介
最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。
2.通过JSONP实现
对于跨域问题,可以使用JSONP实现。
3.通过页面重定向的方式
最后一种介绍的方式,是通过父应用和子应用来回重定向中进行通信,实现信息的安全传递。
玉符科技目前的单点登录技术还可以,玉符单点登录SSO已经实现产品化,交付迅速,时间短,安全性强,单点登录全部通过token令牌实现,不会拿到用户的密码,安全可靠。望采纳!
参考技术A   单点登录(Single Sign On),简称为
SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统
  1.以Cookie作为凭证媒介
  最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。
  2.通过JSONP实现
  对于跨域问百题,可以使用JSONP实现。
  3.通过页面重定向的方式
  最后一种介绍的方式,是通过父应用和子应用来度回重定向中进行通信,实现信息的安全传版递。

SpringBoot应用如何以优雅的方式对接老旧SSO实现单点登录逻辑

目录

背景介绍

我们现在开发WEB应用最流行的框架就是SpringBoot,开发好的应用程序经常要接入企业内部的SSO系统,因为现在企业里面基本上都有自己的一套统一认证服务,企业开发的各个业务系统都对接这个统一认证服务,那么就可以实现企业内部的单点登录了。

统一认证服务经常也叫做SSO,有些SSO是很久以前开发的比较老旧,接入的方式可能也是利用浏览器的SessionCookie来实现。但是现在流行前后端分离,并且随着JWT的发展,前后端的交互更多喜欢采用JWT方式进行认证,JWT更加灵活,所以很受欢迎。

那么,有没有办法在对接老旧的基于SessionCookie方式的单点登录时,可以以更优雅的方式采用JWT方式进行实现呢?答案是肯定的。

本文前端使用front表示,后端使用back表示,统一认证服务使用sso表示。

设计思想

登录前的时序图

front back sso 前端发起一个请求(不带JWT) 自定义请求头URL_REFER:当前页面 https://back/helo-world back获取当前会话的coSessionId request.getSession(true).getId() back通过coSessionId获取用户信息 getSsoUser() 返回null 响应标准302,请求头Location sendRedirect(“https://sso/login.jsp”) 前端根据302重定向到Location地址 location.href="https://sso/login.jsp" 输入登录账号、密码进行登录 login() 登录成功回调back https://back/surl?ssoSessionId=xxx 通过coSessionId获取用户信息 getSsoUser(coSessionId) 返回SsoUser 生成JWT createJWT(coSessionId, ssoSessionId) 响应302,重定向到用户跳转登录前的页面 自定义请求头ACCESS_TOKEN: JWT sendRedirect(URL_REFER) location.href=URL_REFER front back sso

登录后的时序图

front back sso 请求头Authentication: JWT https://back/hello-world 校验JWT,得到coSessionId和ssoSessionId validateJwt() 通过coSessionId获取用户信息 getSsoUser(coSessionId) 返回SsoUser 执行hello-world业务逻辑 helloWorld() 200 "result": "hello,world" front back sso

back内部认证逻辑的设计

身份认证主要由2个Filter完成,一个处理登录逻辑的LoginFilter,一个处理JWT校验的JwtFilter,接下来分别讲讲两个Filter的内部流程设计

LoginFilter内部流程

sso EBS单点登录SSO

SpringBoot应用如何以优雅的方式对接老旧SSO实现单点登录逻辑

实战模拟│单点登录 SSO 的实现

实战模拟│单点登录 SSO 的实现

单点登录 SSO

架构之路 | 浅谈单点登录(SSO)技术实现机制