一、该问题的重现步骤是什么?
1. 公司原有一套SSO服务端,想把BladeX系统集成进去做单点登陆,然后用iframe嵌套进去。
2. 我的做法就是在Gateway中,增加一个filter,用来先一步拦截SSO是否已经登陆了,如果未登陆直接跳转到SSO服务端登陆地址,如果已经登陆了,希望能够在Gateway中完成自动登陆,并记录登陆状态,后续就不再拦截,自动Pass去访问其他服务了。
3.
二、你期待的结果是什么?实际看到的又是什么?
用代码实现自动登陆,同时不影响现有的BladeUser的登陆体系。怎么实现,能够详细指导下吗?
顺便问一下,咱们有做单点登陆的计划吗?有的话就更好,其实这块更适合作为SSO的服务端,毕竟用户和组织架构想在BladeX框架中管。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
未来会采用jap来实现单点登录,不过目前还没有这个功能。
代码自动登录的话,你需要写一个免密码登录的功能,传入账号和加密串,在后台进行校验,如果校验成功则自动返回token给前端,前端获取到token就设置到内存,这样就默认登录了。
具体做法为:
1. 访问后经过你们的逻辑判断需要默认登录
2. 跳转到前端写的一个空白页面,加一个loading条
3. 空白页面接收账号,同时调用自定义的token接口
4. 后台校验成功,返回token
5. 前端接收token并设置缓存
6. 成功后js跳转至系统首页
注意:因为已经先一步设置好了token,那系统每次调用接口都会进行token传递,这样也就达到免登录的功能了
扫一扫访问 Blade技术社区 移动端