【问题标题】:Session not ending on logout in IBM Worklight Adapter-based Authentication在 IBM Worklight Adapter-based Authentication 中,会话未在注销时结束
【发布时间】:2014-11-12 22:41:46
【问题描述】:

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

  1. 当我单击 Get Secret Data 时,在 IBM worklight Console 中的 Devices 选项卡下,它显示 DeviceID、Device Model,但不显示 UserID

  1. 现在,当我插入用户名和密码时,它让我登录,并且用户 ID 更改为 worklight,当我注销时,这里没有任何变化。在我的代码中,我又添加了 1 个用户名 worklight1,当我使用 worklight1 登录时,此屏幕仍显示 UserID 中的 worklight。用户 ID 仅在超时发生后更改,即在我的情况下 3 分钟后!

  1. 超时后,如果我尝试使用任何用户登录,则用户 ID 会更改为该特定用户,并保持不变,直到会话超时。

任何人都可以建议如何结束会话,因为我在注销时尝试了以下代码但没有帮助-

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

提前致谢!

【问题讨论】:

  • 用户 ID 由应用程序的 SecurityTest 中定义的特定领域的“isInternalUserId”属性确定。我缺少能够帮助您的是让您告诉我您正在谈论的“注销”按钮在哪里以及它调用什么 API。
  • 注销按钮在App中,调用WL.client.logout API

标签: ibm-mobilefirst session-timeout worklight-adapters worklight-server


【解决方案1】:

我刚刚测试了适配器身份验证的 Worklight 示例,它按预期工作。在注销时,它正在注销用户。 (http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v620/AdapterBasedAuthenticationHybridProject.zip)

你是不是在注销功能上传错了Realm?

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

此代码会将您从 SingleStepAuthRealm 中注销,而不是从 DoubleStepAuthRealm 中注销。

【讨论】:

  • 我没有使用 DoubleStepAuthRealm,也没有在服务器上部署它。我只使用 SingleStepAuthRealm。此外,客户端工作正常且符合预期。是服务器或更确切地说是控制台没有按预期工作。如果您看到,我的问题是针对控制台中的设备选项卡。
猜你喜欢
  • 1970-01-01
  • 2015-03-30
  • 1970-01-01
  • 2018-06-12
  • 2011-04-10
  • 2018-08-17
  • 2017-11-15
  • 2011-05-23
  • 2020-11-20
相关资源
最近更新 更多