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

时间:2017-09-19 10:31:19

标签: keycloak

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

为了完成这项工作,我必须在Keycloak中为我的用户帐户授予manage-users角色,在此之前我收到了禁止的回复。

我现在可以成功发出PUT请求,在注销并重新登录后,我可以看到我在PUT请求中设置的更新属性。

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

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

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

这可能吗?

1 个答案:

答案 0 :(得分:1)

根据User section Keycloak的Admin REST API,这是不可能的。

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

另一种解决方案是以User Account Service的屏幕为主题,为您的自定义属性添加输入字段,正如文档所说:

  

可以扩展此屏幕以允许用户管理其他属性。有关详细信息,请参阅Server Developer Guide

第二种选择似乎更安全。我希望有所帮助。