oauth-2.0 - jHipster:对于生产中的简单用户,新用户模块如何与 Keycloak 一起工作?
问题描述
我使用 OAuth 和 Keycloak 安装新版本的 jHipster。我不知道 Keycloak 结束它似乎很酷。
我有一个带有 mysql 的独立安装(不是 jHipster Docker)并且工作正常(我从 jhipster-users-0.json 和 jhipster-realm.json 导入数据)并且我在数据库表中看到所有数据。
我的问题是:
真实用户将如何操作“更改密码”、“忘记密码”、“更改名称”...
在旧应用程序中,我将 jhi_user 与我的主类相关联,以构建类似于多租户的东西。现在我看到 jhi_user 表,但用户在 keycloak.user_entity 中,我的主类的页面 crud 只看到我的 jhipster 模式。我如何解决这个问题?
如果有人可以帮助我,我将不胜感激。
解决方案
对于您的第一个问题,您可以在领域的登录页面中添加忘记密码的链接。请记住,您可以根据此页面的需要实现主题:
Keycloak 也有一个 API(管理网络基于它),您可以使用它来进行操作。有一个端点可以发送电子邮件以恢复密码:PUT /admin/realms/{realm}/users/{id}/execute-actions-email
.
对于第二个问题,您有两个选择。理想的做法是让 keycloak 管理您的用户。您可以通过您的应用程序使用 API来管理它们。否则,如果您想将它们存储在应用程序数据库中,您仍然可以编写自定义用户存储 SPI的实现,以从数据库或您可能在应用程序中提供的某些 API 加载它们:
您可以使用用户存储 SPI 将扩展写入 Keycloak 以连接到外部用户数据库和凭证存储。内置的 LDAP 和 ActiveDirectory 支持是此 SPI 的实际实现。开箱即用,Keycloak 使用其本地数据库来创建、更新和查找用户和验证凭据。但通常,组织拥有无法迁移到 Keycloak 数据模型的现有外部专有用户数据库。对于这些情况,应用程序开发人员可以编写用户存储 SPI 的实现来桥接外部用户存储和 Keycloak 用来登录用户和管理用户的内部用户对象模型。
推荐阅读
- python - List of NAN values while calculating p value and Z score in Scipy
- java - 在递归java中写入文件
- amazon-web-services - 用于按日期顺序检索视频/照片内容的 AWS DynamoDB 表
- c# - How to detect Control + not VirtualKey keyboard combinations?
- android - How to remove a specific jar file from libs folder while packaging application in Android
- javascript - How to Create New Object from Matching Object Properties?
- java - Java EE CDI - 每次调用方法时获取类的新实例
- firebase - How to exclude certain data from Firestore query
- dynamics-365 - Error publishing "hello world" Microsoft AL app to Dynamics 365 sandbox
- node.js - 用于 NodeJS 的 WebPack 4 SplitChunksPlugin