允许用户使用REST API更新自己的配置文件



我一直在使用我的登录用户帐户的令牌尝试使用REST API,然后在我的用户记录上提出put请求以更新一些自定义属性。

为了获得这项工作,我必须授予我的用户帐户在KeyCloak中的管理用户角色,在此之前,我得到了禁止的响应。

我现在可以成功地提出PUT请求,并且在登录并登录后,我可以看到我在put请求中设置的更新属性。

但是我现在允许我的用户能够管理我不想允许的领域中的所有用户。

相反,我只想能够更新自己的帐户详细信息。

我知道用户可以查看自己的个人资料,并在KeyCloak提供的屏幕上进行更改。但是对于某些自定义属性,我希望能够从他们登录的客户端应用程序中执行此操作,因此使用REST API,但不授予他们一个可以允许他们更新其他用户详细信息的角色。

这是可能的吗?

根据用户部分KeyCloak的admin Rest API,这是不可能的。

一种解决方案是您的客户端应用程序将更新请求发送到后端。后端将验证更新请求是否合法(又称JWT已验证,并且更新确实适用于请求更改的用户)。

另一个解决方案是主题用户帐户服务的屏幕以添加自定义属性的输入字段,因为文档说:

可以扩展此屏幕以允许用户管理其他属性。有关更多详细信息,请参见"服务器开发人员指南"。

第二个选项似乎越安全。我希望这会有所帮助。

这对于帐户管理API似乎是可能的。

不幸的是,我没有找到任何正式文件。但是,KeyCloak中有一个例子说明了如何做。

最新更新