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请求吗