各位基友首先我听我描述一下
1、需求:在我方系统(一下称a)传输数据到外系统(一下称b),需要通过b的安全验证,b是个闭包产品只提供现有的接口不能修改逻辑代码,也就是说剩下的都是我方在a中操作
2、现有的方案是:b提供根据用户名密码获取用户有效cookie的接口以及功能页面Url,然后我在a后台访问b获取有效cookie接口,把获取到的cookie传到a的前端页面放到浏览器中,然后超链接或者重定向b的功能页面。
测试结果:理论上是OK的而且b的对接人也说他们那边说有用这种方法成功的案例,但是我这边测试始终过不去b的安全验证被弹回到b的登录页面
我的测试步骤:
1、后台a中请求b的cookie接口成功返回的用户cookie
2、后台单独用返回的用户cookie通过HttpURLConnection的方式访问b的功能页面Url返回码200,也就是说后台测试是成功的,可以通过cookie通过安全验证
3、接下来我就把获取到的cookie放到a的客户端浏览器中,然后通过浏览器点击链接访问b的功能页面就过不去了被弹回到b的登录页面,但是我通过浏览器工具看 请求头里面也把cookie传过去了,但是通不b的过安全验证.
PS:其实这种问题在系统对接中很常见,只要两边协商好对接逻辑就OK,现在这个恶心就恶心在他们的系统什么都不能动只能给现有的接口,Debug都不能打,只能看Log
下面我给几个截图:
PS:cookie接口返回的也有个JSESSIONID跟我浏览器上自带的两个并存不知道有没有影响,还有就是我alert出来的LtpaToken2的值里面的特殊符号没有转义但是在浏览器的F12中最后传过去的也是转义后的,烦请各位看看这种如何解决,或者有没有其他解决方案