如何设置从本机Android应用程序对Worklight Server的所有调用使用的cookie

时间:2013-11-14 01:17:19

标签: android cookies ibm-mobilefirst

我正在使用Worklight 6.0.0.1构建原生Android应用,并且无法连接到我们的生产Worklight Server。

服务器面向处理身份验证的DataPower设备,并要求我们在对Worklight Server的任何调用中发送特定的cookie。

我们尝试使用addGlobalHeader(“Cookie”,“cookie-name = cookievalue”)来设置此Cookie,但发现使用此API无法很好地使用Worklight本身用于管理其会话的Cookie。

为Worklight的初始请求正确设置了Cookie标头,Worklight响应了挑战并设置了JSESSIONID和WL_PERSISTENT_COOKIE。

然后,当Android API应对此挑战时,我们会在后续请求中看到2个cookie标头,这些标头违反了http标头的规范。 Cookie:JSESSIONID =< ...&gt ;; WL_PERSISTENT_COOKIE =< ...> Cookie:

奇怪的是,如果我通过TCPMon代理来检查流量,我可以成功连接,但如果直接针对DataPower地址,它就看不到标题而无法访问Worklight。

注入cookie的正确方法是什么,以便我的cookie与Worklight所需的所有其他Cookie一起进入单个cookie标头?

1 个答案:

答案 0 :(得分:0)

添加全局标题将添加标题,它不是为Cookie而设计的。如果您需要设置cookie,我建议您尝试使用Android的CookieStore。创建包含所有相关参数的cookie(值/ url / expiry等)并将其添加到CookieStore

http://developer.android.com/reference/org/apache/http/client/CookieStore.html