首页 > 解决方案 > jHipster:对于生产中的简单用户,新用户模块如何与 Keycloak 一起工作?

问题描述

我使用 OAuth 和 Keycloak 安装新版本的 jHipster。我不知道 Keycloak 结束它似乎很酷。

我有一个带有 mysql 的独立安装(不是 jHipster Docker)并且工作正常(我从 jhipster-users-0.json 和 jhipster-realm.json 导入数据)并且我在数据库表中看到所有数据。

我的问题是:

如果有人可以帮助我,我将不胜感激。

标签: oauth-2.0user-controlsopenidjhipsterkeycloak

解决方案


对于您的第一个问题,您可以在领域的登录页面中添加忘记密码的链接。请记住,您可以根据此页面的需要实现主题:

在此处输入图像描述

Keycloak 也有一个 API(管理网络基于它),您可以使用它来进行操作。有一个端点可以发送电子邮件以恢复密码:PUT /admin/realms/{realm}/users/{id}/execute-actions-email.

对于第二个问题,您有两个选择。理想的做法是让 keycloak 管理您的用户。您可以通过您的应用程序使用 API来管理它们。否则,如果您想将它们存储在应用程序数据库中,您仍然可以编写自定义用户存储 SPI的实现,以从数据库或您可能在应用程序中提供的某些 API 加载它们:

您可以使用用户存储 SPI 将扩展写入 Keycloak 以连接到外部用户数据库和凭证存储。内置的 LDAP 和 ActiveDirectory 支持是此 SPI 的实际实现。开箱即用,Keycloak 使用其本地数据库来创建、更新和查找用户和验证凭据。但通常,组织拥有无法迁移到 Keycloak 数据模型的现有外部专有用户数据库。对于这些情况,应用程序开发人员可以编写用户存储 SPI 的实现来桥接外部用户存储和 Keycloak 用来登录用户和管理用户的内部用户对象模型。


推荐阅读