首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何读取Keycloak用户上次登录的事件

如何读取Keycloak用户上次登录的事件
EN

Stack Overflow用户
提问于 2020-08-10 18:13:09
回答 1查看 9.3K关注 0票数 1

我希望能够读取用户上一次登录事件(Keycloak)。因此,我已经阅读了密钥披风文档,并没有找到任何管理api,以实现这一点。到目前为止,我所做的是在独立的-ha-xml文件上添加一个SPI部分,并在keycloak接口上启用Login事件。我知道这些日志存储在一个名为audit.log的文件中,并以JSON格式存储。因此,我不确定这是否是一个好主意,尝试阅读这个文件,并查明什么时候,一个用户已经登录。有什么想法吗?

代码语言:javascript
复制
<audit-logging>
  <file-audit-log name="local-audit" path="audit.log" relative-to="jboss.server.log.dir" format="JSON"/>
</audit-logging>

<spi name="eventsListener">
     <default-provider>jboss-logging</default-provider>
       <provider name="jboss-logging" enabled="true">
         <properties>
           <property name="success-level" value="info"/>
           <property name="error-level" value="warn"/>
        </properties>
       </provider>
</spi>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-11 08:35:12

我认为有更好的方法来做到这一点。首先您需要打开Events菜单,然后选择Config选项卡。在Save Events组中检查Login Events Settings选项。您也可以指定类型(LOGIN)和过期(存储的时间)。然后您可以使用admin GET /{realm}/events 文档 (需要授权)来读取它们。

https://{host}:{port}/auth/admin/realms/{realm}/events?type=LOGIN

或者您可以在Keycloak数据库中查询它们,但我认为第一个选项更好:

代码语言:javascript
复制
SELECT id, client_id, details_json, error, ip_address, realm_id, session_id, event_time, type, user_id 
FROM event_entity WHERE type = 'LOGIN';
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63345767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档