侧边栏壁纸
  • 累计撰写 53 篇文章
  • 累计创建 12 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录

什么是单点登陆(SSO)

Kirito
2024-04-03 / 0 评论 / 0 点赞 / 34 阅读 / 2136 字 / 正在检测是否收录...

一句话叙述:一次登陆的token信息,可在多个系统中通用

来源

由于网站的规模逐渐扩大,访问量逐渐提升,对于单机部署方案来说,给硬件带来了极大压力,后期引入了分布式集群部署方案。此环境下,遭遇了多系统验证信息通用的瓶颈,单点登录(SSO)应运而生。

实现

如何让 session idtoken 在多个域中共享

同顶域下的单点登陆

Cookie-domain 设置顶级域名
可以给Cookie的 domain属性设置为顶级域名,所有子域的网页都可以访问到此Cookie,并在网络请求中携带。以此博客举例,将需要通用的Cookie的 domain属性设置为 .verivista.cn,则子域 blog.verivista.cnpt.verivista.cn都可以访问到此Cookie。

跨域下的单点登录

CAS流程——SSO登陆中间站

A系统与B系统的登陆都需先跳转SSO中间站进行登陆,再由SSO中间站跳转对应系统的地址并传递需要的身份验证参数。
例如
登陆A系统时
|
跳转至 sso.xxx.cn?origin=A地址进行登陆,登录后写入sso.xxx.cn域名的Cookie信息,使用此Cookie获取登陆A系统对应的token值 yyy
|
再通过重定向跳转至 a.xxx.cn?token=yyy
|
B系统登陆时同样跳转SSO中间站,使用之前的Cookie来获取B系统的token来跳转访问。

一般情况下使用同顶域方案足够完成大部分单点登录需求

0

评论区