如何让redirect隐藏rul参数

这是一个秘密

网上有很多关于redirect传递参数的说明,无非有两种方法,一种在url直接拼,另一种就是放session。什么springMVC传参数,那都是对这两种方式的一个封装。解决不了根本问题。

我遇到的问题是,我的redirect是跨域的,我作为用户中心,提供sso。第三方系统登录需要跳转到统一的登录页面,然后登录后跳会第三方系统。

而且跳转过程要么需要带回调地址,要么带一个长长的jwt token。让浏览器的域名很难看。

既然跨域session就不能用了。要传参数只能用url了。需求简单,处理方式也只有一种,结果就是无解。

然而山人自有“诡”计。sso的服务器和给第三方的sso过滤器都是我做,不就是要浏览器的地址栏干净吗。

妙计来了,不管是sso的服务端还是sso的拦截器,发现有回调地址和token参数时,马上再重定向一次到自己。同时把参数放sessin里。这下session是自己的了。简直太帅了....

看网络请求必然是一堆的重定向,原来的问题并没有解决。但是地址栏确实是干净了。

这里还有一个问题,就是回调地址,目标地址可能本身是带参数的,这时候不能给人家省了,还要给再拼接回去。确实有点麻烦。

不过目的达到了。

你可能感兴趣的:(java)