当前位置: 首页 > 知识库问答 >
问题:

在KeyCloak中哪里存储用户数据?又该怎么读呢?

逑和蔼
2023-03-14

>

  • 我已经按照以下指南设置了keycloak:https://hub.docker.com/r/jboss/keycloak/使用MySQL作为数据库。我认为使用属性可以将额外的数据存储在keycloak中,使用映射器可以将数据与客户机相关联。我的问题是,如果在keycloak中以这种方式存储我想稍后访问的用户数据是可以的(好的做法)?以及数据应该附加到的位置。因为可以将属性附加到访问令牌、id令牌或用户信息。所有这些都是可选的,并提出了一些更多的问题,这就带来了我的第二个问题。

    我发现了一个相关的主题:我如何通过ID获得其他用户的信息(用户名,第一名)?[钥匙斗篷]。但这表明客户机是管理用户或具有其他特权(即服务帐户)。

  • 共有1个答案

    陶烨赫
    2023-03-14

    问题1:在用户属性中添加额外数据是完全可以的。这就是这些属性的目的。使用声明映射器,您可以完全自由地定义哪些属性进入哪些令牌。与客户机作用域相结合,可以很容易地在多个客户机中重用相同的声明映射。

    问题2:通常您使用访问令牌和刷新令牌,并且访问令牌的生命周期很短(例如1-5分钟)。当访问令牌过期时,刷新令牌将用于检索新的访问令牌。在Keycloak中,创建这样一个新的访问令牌再次应用所有声明映射器,因此用户属性中的任何更改都将反映在新的访问令牌中。因此,最终,您的访问令牌配置的过期时间决定了等待更改的属性通过访问令牌对应用程序可见的最长时间。

     类似资料:
    • 问题内容: 因此,我有了这种elasticsearch安装,可以在用logstash插入数​​据时使用kibana可视化它们。 conf文件中的所有内容均已注释,因此它使用的是相对于elasticsearch文件夹的默认文件夹。 这怎么可能? 但是,此命令将删除数据: 谢谢。 ps:忘了说我在窗户上 问题答案: 如果您在Linux上安装了ES,则默认数据文件夹位于(CentOS)或(Ubuntu)

    • 我将redis用于发布/订阅以及服务器端缓存。我的意思是,我的应用服务器将redis服务器作为一个进程运行(也可以作为缓存)。我有几个瘦客户端(运行redis client)以发布/订阅模式连接到此应用服务器。我想知道redis在哪里存储缓存数据?单独在服务器中,或者在客户端中也会有一个副本。如果有近100个Redis客户端通过发布/订阅通道连接到服务器,那么以这种方式使用Redis也是一个好主意

    • 它是否将其存储在缓存中?我有一个应用程序,但应用程序中没有任何地方。属性是提到的db详细信息。我可以通过邮递员存储数据和查询它。

    • 波姆。xml 这是一个java配置文件。 这是redis服务器的配置文件 存储库 > Rest 创建: 阅读: 数据保存和读取相当好。我假设它们被保存到一个具有内存实现的redis数据库中,尽管我没有专门对此进行配置。我推断是因为当我通过redis cli发送命令时,我不会通过查询的键获得答案。 但是,当应用程序运行时,数据会被保存并读取。 停止应用程序然后启动应用程序后,数据丢失。 此外,我使用

    • 问题内容: 我正在Eclipse中进行Java项目。我创建了一个名为“ Spring”的用户库,并向其中添加了所有的Spring jar。我的问题是,Eclipse在哪里存储该库?是否将所有jar文件复制到磁盘上某个新目录中?还是在某些配置文件中维护有关哪些jar属于用户库的信息? 问题答案: Eclipse不会复制用户库的任何内容,它只是具有特定于机器的绝对路径的容器。用户库定义存储在工作空间中

    • 问题内容: 我已经卸载了wamp服务器,现在我需要恢复数据库。我该如何做? 问题答案: 无论如何,您都可以知道: 感谢MySql论坛的Barry Galbraith http://forums.mysql.com/read.php?10,379153,379167#msg-379167