我使用OAuth和Keycloak安装了新版本的jHipster。我不知道Keycloak结束它看起来很酷。
我有一个独立的安装程序(不是jHipster Docker)和mysql并且工作正常(我从jhipster-users-0.json和jhipster-realm.json导入数据),我看到数据库表中的所有数据。
我的问题是:
真实用户如何操作“改变密码”,“忘记密码”,“更改名称”......我在应用程序网页上看不到这些信息,我认为密钥泄露网是管理员不适合简单的用户。
在旧的应用程序中,我将jhi_user与我的主类相关联,用于构建类似于多租户的东西。现在我看到了jhi_user表,但是用户在keycloak.user_entity中,而我的主类的页面crud只看到我的jhipster模式。我如何解决这个问题?
如果有人能帮助我,我将不胜感激。
答案 0 :(得分:1)
对于您的第一个问题,您可以在领域的登录页面中添加忘记密码链接。根据您对此页面的需求,请记住you can implement a theme:
Keycloak还有一个API(管理网络基于其中),您可以使用它来进行操作。 There's an endpoint发送密码恢复电子邮件:PUT /admin/realms/{realm}/users/{id}/execute-actions-email
。
对于你的第二个问题,你有两个选择。理想的做法是让keycloak管理您的用户。您可以通过您的应用程序管理它们using the API。否则,如果要将它们存储在应用程序数据库中,您仍然可以编写custom user storage SPI的实现,从数据库或您在应用程序中提供的某些API加载它们:
您可以使用User Storage SPI将Keycloak的扩展名写入 连接到外部用户数据库和凭据存储。内置 LDAP和ActiveDirectory支持是此SPI的实现 行动。开箱即用,Keycloak使用其本地数据库来创建, 更新,并查找用户和验证凭据。但通常, 组织拥有现有的外部专有用户数据库 他们无法迁移到Keycloak的数据模型。对于那些情况, 应用程序开发人员可以编写用户存储的实现 SPI用于桥接外部用户存储和内部用户对象 Keycloak用于登录用户并管理用户的模型。