jwt擴展欄位介紹 為了實現業務的定製化需求和開發人員使用的便利,對kc的JWT進行了擴展,這個擴展欄位在解析JWT之後都可以看到。 jwt的payload { "exp": 1675329802, "iat": 1675329622, "jti": "2a80e925-b9ce-464f-822d ...
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管理平臺中,可以通過用戶詳情-屬性[attributes]查看
- 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將多個相關的屬性添加到這個模板里
-
選擇指定客戶端-》客戶端模板-》添加已有的模板
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!