You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过keycloak-js从Keycloak获取登录用户的Locale信息

获取Keycloak登录页面选定的Locale(keycloak-js)

当用户在Keycloak登录页面选择语言后,你可以通过以下两种方式在应用内获取该locale信息:

  • 从解析后的ID Token直接读取
    登录成功后,keycloak-js实例的tokenParsed对象会包含用户选定的locale字段,直接访问即可:
// 确保已完成登录流程
const userLocale = keycloak.tokenParsed?.locale;
// 输出示例:zh-CN、en、fr等
console.log(userLocale);
  • 通过加载用户Profile获取
    如果ID Token中未包含locale字段,可调用loadUserProfile()方法获取完整用户信息,其中包含locale:
keycloak.loadUserProfile()
  .then(profile => {
    const userLocale = profile.locale;
    console.log(userLocale);
  })
  .catch(err => console.error('获取用户信息失败:', err));

注意事项

如果上述方法无法获取locale,可能是Keycloak客户端未配置locale字段的Token映射:

  1. 登录Keycloak管理控制台,进入对应客户端的「Mappers」标签
  2. 添加新映射:选择「User Attribute」类型,属性名填locale,Token Claim Name填locale
  3. 勾选「Add to ID token」和「Add to access token」选项,保存配置

内容的提问来源于stack exchange,提问作者Adi Dasler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 19:38:11