Ibm mobilefirst Worklight logoutSuccess身份验证域未定义

Ibm mobilefirst Worklight logoutSuccess身份验证域未定义,ibm-mobilefirst,worklight-security,Ibm Mobilefirst,Worklight Security,我无法使Worklight注销正常工作 注销按钮: <input type="button" value="Logout2" onclick="WL.Client.logout('AuthRealm',{onSuccess: WL.Client.reloadApp})" /> 但是这个领域定义得很好,并且在单击之后调用这个领域的注销函数。我调查了Worklight sources,发现问题出在: onLogoutSuccess(transport=klass { request=k

我无法使Worklight注销正常工作

注销按钮:

<input type="button" value="Logout2" onclick="WL.Client.logout('AuthRealm',{onSuccess: WL.Client.reloadApp})" />
但是这个领域定义得很好,并且在单击之后调用这个领域的注销函数。我调查了Worklight sources,发现问题出在:

onLogoutSuccess(transport=klass { request=klass, transport=XMLHttpRequest, readyState=4, more...})wlclient.js (line 1298)
因此,将从以下位置引发错误:

if (typeof userInfo[realm] === "undefined") {
    WL.Logger.error('onLogoutSuccess: realm: ' + realm + ' is undefined');
    return;
} 

我应该在哪里设置userInfo?或者为什么会抛出此错误?我在示例源中未找到任何信息。

我只能在我的设备尚未以任何方式连接到Worklight server(尚未登录到域,initOnStartup=false,没有适配器调用等)时复制

如果客户端尚未与Worklight server通信,则它对域一无所知,因此在尝试注销域时会抛出错误。尝试添加检查以查看用户是否已登录到域,或者确保用户在能够注销之前已连接到Worklight server


即使他们还没有登录到域,如果设备至少连接到服务器一次,也会知道域的情况。

问题是,我没有完全授权,因为我没有调用身份验证确认。此外,我有多个cookie,这些cookie严重影响了应用程序的行为。这是因为我对Worklight中的登录过程有误解。我试图直接实现登录页面。当我改变场景并调用一些虚拟安全资源时,身份验证成功了,我没有再次遇到这个问题。
if (typeof userInfo[realm] === "undefined") {
    WL.Logger.error('onLogoutSuccess: realm: ' + realm + ' is undefined');
    return;
}