Forgerock-OpenAM-检索特定用户的所有有效会话



如何检索特定用户的所有有效会话?例如,如果用户从多个设备登录并决定更改密码或重置密码。我需要能够使所有活动会话过期,并将用户从所有设备中注销。如果用户怀疑他的/她的帐户已被泄露并需要更改密码,这一点尤为重要。目前我可以检索RME,但不能检索会话。我知道这是可行的用户界面,但我需要把这个功能放在一个SDK或API。有没有一个curl命令可以轻松实现这一点?

Sarah,

目前没有任何端点可以让您使所有用户会话无效。您需要每个会话的会话令牌,然后调用/json/sessions/_action=多次注销REST端点(每个会话一次)。

话虽如此,您可以使用以下类来获取特定用户的会话列表:

com.iplanet.dpro.session.service.SessionCount

您可以在这里阅读javadoc。

不过,使用这种方法也有一些限制。必须启用会话配额。您可以在管理控制台上启用会话配额,方法是转到配置->全局->会话页面和:

  • 设置"活动用户会话"的数量
  • 启用"启用配额限制"

总之,您可以创建自己的自定义端点,该端点将使用用户ID并调用SessionCount.getAllSessionsByUUID(uuid)来获取活动会话的列表。之后,您可以遍历会话列表,并逐个使其无效。

希望这能回答你的问题。

最新更新