Keycloak 登录后更新用户语言环境

Baa*_*kan 5 cookies keycloak

一旦他与Keycloak (6.0.1)连接,我需要更新语言环境用户属性。我有一个 SpringBoot 应用程序和一个有角度的前端应用程序。

我尝试使用后端 API 来更新我的语言环境用户属性,或者在 Keycloak 管理界面中修改它,它可以工作,但是当我重新加载我的页面 (F5) 时,我的更改被重置。

我知道 keycloak 使用特定顺序来设置语言环境:

  1. kc_locale参数
  2. KEYCLOAK_LOCALE cookie
  3. 用户模型属性

我想我知道发生了什么:

  1. kc_locale 参数在登录时设置(我可以在登录时使用默认语言环境)
  2. 一旦连接,KEYCLOAK_LOCALE cookie 被设置,并且他的值对应于 kc_locale。我的语言环境用户属性也用这个 kc_locale 值更新。
  3. 之后,如果我尝试更新我的用户语言环境属性,并且它可以工作,但它不会更新 KEYCLOAK_LOCALE cookie,所以在我的页面下次重新加载后,我的语言环境属性似乎被 cookie 中的值覆盖。当我手动更改 cookie 的值时,它起作用了。

所以,我的问题是:是否可以用新的 KEYCLOAK_LOCALE cookie 值更新 KEYCLOAK_LOCALE cookie 值,或者只使用 locale 属性来指定语言用户,而不使用 SPI ?