一旦他与 Keycloak (6.0.1)连接后,我需要更新区域设置用户属性。我有一个SpringBoot应用程序和一个有角度的前端应用程序。
我试图使用后端API更新我的语言环境用户属性,或在Keycloak管理界面中对其进行修改,并且它可以工作,但是当我重新加载页面(F5)时,我的更改被重置了。
我知道keycloak使用特定的顺序来设置语言环境:
- kc_locale 参数
- KEYCLOAK_LOCALE cookie
- UserModel属性
我想我知道发生了什么事:
- kc_locale参数在登录时设置(我可以在登录时使用默认语言环境)
- 连接后,将设置KEYCLOAK_LOCALE cookie,并且其值对应于kc_locale。此kc_locale值也更新了我的语言环境用户属性。
- 在那之后,如果我尝试更新用户的语言环境属性,并且它可以工作,但是无法更新KEYCLOAK_LOCALE cookie,那么在下一次重新加载页面后,我的语言环境属性似乎被cookie中的值覆盖了。当我手动更改cookie的值时,它可以工作。
所以,我的问题是:是否可以用新值更新KEYCLOAK_LOCALE cookie值,或者仅使用locale属性指定语言用户,而不使用SPI?