是否可以通过登录URL传递语言?
我现在知道Keycloak支持多种语言,并且启用此功能后就可以使用它。目前,我只能在登录页面后更改该语言。我想显示给定语言的登录页面。是否有任何方法可以使用查询参数或标头值通过登录页面URL传递语言。
加载登录页面后,我检查了它的URL,该URL的末尾有一个查询参数,例如kc_locale=en
。我尝试使用此查询参数,但不起作用。
答案 0 :(得分:1)
在7.0.0+版中,以下格式适用:
https://...../auth/realms/..../protocol/openid-connect/auth?client_id=account&redirect_uri=...&state=0&response_type=code&scope=openid&**kc_locale=cs**
答案 1 :(得分:0)
您应该事先尝试一些方法: -不要在用户偏好中的kc-client-config nore中设置任何默认语言 -将您的浏览器语言更改为法语,然后尝试登录。登录页面是法语的吗? -尝试登录时将您的浏览器语言更改为英语。登录页面是英文吗?
我们这里有一个多语言应用程序(Angular / Spring),发现该语言是由浏览器设置决定的。
答案 2 :(得分:0)
我使用的是 v12,在创建 url 函数中,您可以将语言环境作为选项传递。
keyCloakClient.createLoginUrl({locale: 'it'});
这会向 url 添加一个 &ui_locales=it
附录并加载特定语言的 Keycloak 应用程序。