如何通过URL

时间:2019-11-03 17:50:03

标签: keycloak keycloak-services

是否可以通过登录URL传递语言?

我现在知道Keycloak支持多种语言,并且启用此功能后就可以使用它。目前,我只能在登录页面后更改该语言。我想显示给定语言的登录页面。是否有任何方法可以使用查询参数或标头值通过登录页面URL传递语言。

加载登录页面后,我检查了它的URL,该URL的末尾有一个查询参数,例如kc_locale=en。我尝试使用此查询参数,但不起作用。

3 个答案:

答案 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 应用程序。

KeycloakLoginOptions