jHipster:如何为生产中的简单用户使用Keycloak的新用户模块?

时间:2018-05-22 21:29:26

标签: oauth-2.0 user-controls openid jhipster keycloak

我使用OAuth和Keycloak安装了新版本的jHipster。我不知道Keycloak结束它看起来很酷。

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

我的问题是:

  • 真实用户如何操作“改变密码”,“忘记密码”,“更改名称”......我在应用程序网页上看不到这些信息,我认为密钥泄露网是管理员不适合简单的用户。

  • 在旧的应用程序中,我将jhi_user与我的主类相关联,用于构建类似于多租户的东西。现在我看到了jhi_user表,但是用户在keycloak.user_entity中,而我的主类的页面crud只看到我的jhipster模式。我如何解决这个问题?

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

1 个答案:

答案 0 :(得分:1)

对于您的第一个问题,您可以在领域的登录页面中添加忘记密码链接。根据您对此页面的需求,请记住you can implement a theme

enter image description here

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用于登录用户并管理用户的模型。