归筠溪 发表于 2025-6-6 08:43:57

keycloak~JWT各字段说明及扩展字段的方法

jwt扩展字段介绍

为了实现业务的定制化需求和开发人员使用的便利,对kc的JWT进行了扩展,这个扩展字段在解析JWT之后都可以看到。
jwt的payload

{
"exp": 1675329802,
"iat": 1675329622,
"jti": "2a80e925-b9ce-464f-822d-5c801ff4e8a0",
"iss": "https://xxx.xxx.com/auth/realms/xxx",
"aud": ["case", "realm-management", "account"],
"sub": "d21a5ec8-30c5-4db6-a26a-17ac4b3fcfd4",
"typ": "Bearer",
"azp": "democlient",
"session_state": "c6b5fdbc-38fd-45d7-bde1-de7cc18837d3",
"acr": "1",
"allowed-origins": ["*"],
"realm_access": {
    "roles": ["manage-users", "query-realms", "query-clients", "query-users"]
},
"resource_access": {
    "realm-management": {
      "roles": ["view-realm", "manage-authorization", "manage-clients", "query-groups"]
    },
    "account": {
      "roles": ["manage-account", "view-applications"]
    }
},
"scope": "roles my-application-scope extension-roles email profile",
"phoneNumber": "13521972991",
"email_verified": true,
"loginType": "password",
"nickname": "张三",
"isGroupUser": 1,
"extension_roles": {
    "weixin": ["product"]
},
"preferred_username": "test"
}公用字段


[*]exp token过期时间戳
[*]iat token生成时间戳
[*]jti token的唯一身份标识
[*]iss token的发行机制,kc中的域,例如:https://cas.pkulaw.com/auth/realms/fabao
[*]aud 授权到的客户端
[*]sub 当前用户ID
[*]typ 认证方式
[*]azp 当前客户端client_id
[*]session_state 当前会话id,浏览器中的AUTH_SESSION_ID和AUTH_SESSION_ID_LEGACY
[*]acr 如果clientSession通过cookie (SSO)进行身份验证,则使用0,否则为1
[*]allowed-origins 允许哪种域名使用我们的token
[*]realm_access 域的权限
[*]resource_access 客户端(资源)权限,kc允许你为用户依照客户端去授权
[*]scope 客户端模板,它将一类jwt中的属性进行分类,通过这个scope模块去渲染你的jwt字段
个性化字段

用户属性:是user_attribute表,在kc管理平台中,可以通过用户详情-属性查看


[*]phoneNumber 用户手机号
[*]email_verified 是否验证了邮箱
[*]loginType 登录方式【password,weixin,carsi,wechat-work】
[*]nickname 用户昵称【如果用户属性nickname时就用它;否则用户名以wx或者phone开头,并且用户属性手机号不为空,就用手机号;否则使用用户名username】
[*]isGroupUser 是否为组管理员【1是、0否】
[*]extension_roles.weixin 扩展角色中的微信角色
[*]preferred_username kc中的用户名username
为客户端配置自定义属性


[*]通过客户端模板,去添加一个模板,通过mappers将多个相关的属性添加到这个模板里
https://img2023.cnblogs.com/blog/118538/202302/118538-20230203101436327-1423821106.png
[*]选择指定客户端-》客户端模板-》添加已有的模板


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

高小雨 发表于 2025-11-2 14:58:20

分享、互助 让互联网精神温暖你我

襁壮鸢 发表于 2025-12-16 17:51:37

很好很强大我过来先占个楼 待编辑

凉砧掌 发表于 2025-12-25 10:43:08

谢谢分享,辛苦了

痕伯 发表于 2026-1-18 15:44:09

鼓励转贴优秀软件安全工具和文档!

左优扬 发表于 2026-1-19 00:20:51

感谢分享,下载保存了,貌似很强大

杆树 发表于 2026-1-21 07:46:03

前排留名,哈哈哈

当贵 发表于 2026-1-24 20:57:57

懂技术并乐意极积无私分享的人越来越少。珍惜

毋峻舷 发表于 2026-1-26 12:25:22

喜欢鼓捣这些软件,现在用得少,谢谢分享!

圄旧剖 发表于 2026-1-27 01:49:36

前排留名,哈哈哈

任修 发表于 2026-2-2 06:05:05

前排留名,哈哈哈

讲怔 发表于 2026-2-3 05:18:35

谢谢分享,辛苦了

山芷兰 发表于 2026-2-5 10:02:26

喜欢鼓捣这些软件,现在用得少,谢谢分享!

屠焘 发表于 2026-2-6 07:18:48

新版吗?好像是停更了吧。

冷晓晴 发表于 2026-2-7 03:05:24

不错,里面软件多更新就更好了

何书艺 发表于 2026-2-8 02:26:58

过来提前占个楼

类饲冰 发表于 2026-2-8 08:21:40

感谢分享

挫莉虻 发表于 2026-2-8 10:31:00

这个有用。

供挂 发表于 2026-2-8 21:06:47

谢谢楼主提供!

挽幽 发表于 2026-2-9 02:02:59

这个好,看起来很实用
页: [1] 2
查看完整版本: keycloak~JWT各字段说明及扩展字段的方法