从 KeycloakPrincipal 获取用户语言环境

Getting user locale from KeycloakPrincipal

我已经配置了 keycloak 过滤器,它在 HttpServletRequest 中设置了 KeycloakPrincipal。到目前为止一切顺利。

我找到字段 locale 所在的位置:

KeycloakPrincipal<KeycloakSecurityContext> principal = (KeycloakPrincipal<KeycloakSecurityContext>) req.getUserPrincipal();
String locale = principal.getKeycloakSecurityContext().getToken().getLocale();

然而,我得到的是空值,虽然我在用户的个人资料中看到了语言环境:

如何从 KeycloakPrincipal 获取用户语言环境?

您需要明确添加。在您的领域中,select 您用于用户登录的客户端。在映射器中,您将看到令牌中映射的内容:

在这里你可以添加一个内置属性:

另请参阅: