关于SSO流程

来源:6-8 【连环问】如何实现SSO单点登录

一只小木马

2022-07-20

SSO流程大致是这样的吗?
1.初次访问系统A,未登录跳转至第三方SSO进行登录校验(所有登录有关的凭证验证都在SSO中)
2.如果没有获得过SSO下发的token,需要进行登录(登录校验由SSO进行),登录成功,SSO通过response返回token
3.客户端存储token(SSO页面下的localStorage),通过request header将token携带并访问系统A,系统A获得token并发送给SSO进行校验,校验成功则登录成功,token也存储在系统A页面下的localStorage
4.客户端访问系统B时,由于系统B没有存储客户端的token,所以重定向到SSO
5.由于SSO页面下存储有token,携带token进行校验,SSO校验成功,返回token,通过request header携带token访问系统B
6.系统B通过SSO进行校验,校验成功则进行业务处理

就是有一个细节我没太明白,就是访问B系统时,因为LS跨域不共享,所以没有token,之后重定向到SSO页面,由于之前访问过SSO页面,所以SSO页面下的LS存储有token,然后通过请求发送给SSO进行校验,有点不太清楚这个请求是怎么发送的呢?是通过判断如果从某个域名过来或者LS下存在token,则自动发送GET/POST请求吗

写回答

1回答

双越

2022-07-20

就是访问B系统时,因为LS跨域不共享,所以没有token —— token 是存储到 SSO 域名的缓存的,没有跨域不共享

0
0

2周刷完100道前端优质面试真题 双越最新力作

『前端面试真题100道』视频详解

1512 学习 · 642 问题

查看课程