ibm-mobilefirst – 将cookie附加到WorkLight Adapter响应头

我正在使用WorkLight 5.0.6开发移动应用程序,我想在适配器返回的响应中附加安全cookie.

我们没有使用WorkLight身份验证领域,因为我们不希望将会话“绑定”到群集生产环境中的特定WL服务器.我们通过调用登录适配器来验证会话,该适配器根据后端系统验证用户详细信息.作为来自登录适配器调用的响应的一部分,我想创建一个包含经过身份验证的信息的安全cookie(仅限http),并将其附加到从登录适配器返回的响应中. cookie也应该包含在从应用程序调用服务器的后续适配器的头中.

问候,

Tom.

解决方法

我建议尝试创建一个与后端通信的自定义Worklight身份验证器.可以在此处找到自定义验证器的文档:

http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v600/08_04_Custom_Authenticator_and_Login_Module.pdf

要回答您的问题,以下是我在不使用自定义验证器的情况下接近它的方法

>使适配器调用从客户端进行身份验证

function authenticate(username,password){

06000

}

>从客户端的响应中获取cookie并保存(我建议使用JSONStore保存,也可以加密保存的cookie)

06001

>在后续适配器调用中,从客户端发送cookie以及每个请求

function adapterRequestForProtectedResource(){

var mySecureCookie = getMyCookieFromLocalStorage();

06002

}

>在适配器上,在标头中设置cookie

function getResource(secureCookie){

// Secure cookie must be of the form:  "CookieName=cookievalue"

var input = {
    method : 'get',returnedContentType : 'json',path : "/resource",headers: {"Cookie": secureCookie}
};

return WL.Server.invokeHttp(input);

}

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些