Ibm mobilefirst 在基于IBM Worklight适配器的身份验证中注销时会话未结束

Ibm mobilefirst 在基于IBM Worklight适配器的身份验证中注销时会话未结束,ibm-mobilefirst,session-timeout,worklight-adapters,worklight-server,Ibm Mobilefirst,Session Timeout,Worklight Adapters,Worklight Server,我从IBM Worklight下载了基于适配器的身份验证项目,我发现当我单击注销按钮时,它不会结束当前会话,而在超时时,它的会话会正确结束。(请注意,它会结束会话,但不会清除用户ID)我在worklight.properties中设置了serverSessionTimeout=3。 下面是截图,显示了发生的全部情况: 当我单击Get Secret Data时,在IBM worklight Console的设备选项卡下,它显示设备ID、设备型号,但不显示用户ID 现在,当我插入用户名和密码时,它

我从IBM Worklight下载了基于适配器的身份验证项目,我发现当我单击注销按钮时,它不会结束当前会话,而在超时时,它的会话会正确结束。(请注意,它会结束会话,但不会清除用户ID)我在worklight.properties中设置了serverSessionTimeout=3。 下面是截图,显示了发生的全部情况:

  • 当我单击Get Secret Data时,在IBM worklight Console的设备选项卡下,它显示设备ID、设备型号,但不显示用户ID
  • 现在,当我插入用户名和密码时,它会将我登录,并将用户ID更改为worklight,而当我注销时,此处没有任何更改。在我的代码中,我又添加了1个用户名worklight1,当我使用worklight1登录时,此屏幕仍以UserID显示worklight。只有在超时发生后,即在我的情况下3分钟后,UserID才会更改

  • 超时后,如果我尝试使用任何用户登录,则userID将更改为该特定用户,并保持不变,直到会话超时
  • 任何人都可以建议如何结束会话,因为我在注销时尝试了以下代码,但没有帮助-

    WL.Server.setActiveUser("SingleStepAuthRealm", null);
    

    提前谢谢

    我刚刚测试了适配器身份验证的Worklight示例,它按预期工作。在注销时,它正在注销用户。 ()

    您是否在注销函数上传递了错误的域

    查看单步应用程序注销的示例代码: 注销('SingleStepAuthRealm',{onSuccess:WL.Client.reloadApp})


    此代码将使您从SingleStepAuthRealm注销,而不是从DoubleStepAuthRealm注销

    用户id由应用程序的SecurityTest中定义的特定领域上的“isInternalUserId”属性确定。我想帮你的是你告诉我你说的“注销”按钮在哪里,它调用了什么API。注销按钮在应用程序中,它调用WL.client.Logout API。我没有使用DoubleStepAuthRealm,也没有在服务器上部署它。我只使用SingleStepAuthRealm。此外,客户工作正常,符合预期。这是服务器,或者更确切地说是控制台没有按预期工作。如果您看到了,我的问题直接指向console中的设备选项卡。