最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

keycloak~session與token的關(guān)系

2023-03-19 13:28 作者:bfyxzls  | 我要投稿

我們需要認(rèn)清session會話和token令牌的區(qū)別,在keycloak中,他們是不同的兩個概念,職責(zé)也不一樣。

session【session_state】

它被保存到瀏覽器的cookie中,有4個會話屬性,這主要基于高低版本瀏覽器和記住我功能考慮而設(shè)計的

按著kc系統(tǒng)獲取會話的優(yōu)先級,他們分別是:【帶_legacy是為了適應(yīng)不支持samesite屬性的瀏覽器】

1.?authsessionid(支持samesite屬性,會話級,關(guān)閉瀏覽器后過期)

2.?authsessionid_legacy

3.?keycloaksessionid?(開啟了KEYCLOAKREMEMBERME后,設(shè)置了過期時間,會在cookie添加這個屬性)

4.?keycloaksessionid_legacy

會話與瀏覽器cookie里設(shè)計的過期時間有關(guān),與token過期時間無關(guān),當(dāng)用戶退出時,kc服務(wù)器保持的會話【session_state】會被刪除,如圖為kc用戶的會話列表


token

由于kc中使用的是jwt(json?web?token),所以我們不需要把它再次進(jìn)行存儲了,因為在這個token里已經(jīng)有了用戶信息,并且添加了當(dāng)前會話信息;而傳統(tǒng)的而自解釋
的token,往往需要把它與當(dāng)前用戶作一個對應(yīng)關(guān)系,緩存起來,這點kc的jwt不需要存儲。

一?根據(jù)職責(zé),設(shè)置時長

??access_token?較短的有效期,如30分鐘,jwt的token中,會有用戶認(rèn)證和授權(quán)的信息

??refresh_token?較長的有效期,用戶最長可接受的,從新登錄的時間,如10天

二?token的驗證

??在線驗證:?為認(rèn)證服務(wù)器壓力比較大,相當(dāng)于去中心化校驗,因為kc存儲了session_state,可以更準(zhǔn)確的知道這個token是否在線

??離線驗證:各個服務(wù)端【對接到KC上的客戶端】,通過kc頒發(fā)的公鑰,對token進(jìn)行簽名驗證,它可以驗證出token是否由當(dāng)前KC頒發(fā)的,對于在線性,它無法直接驗證,當(dāng)然,客戶端自己也可以保留session_state,相當(dāng)于分擔(dān)KC的在線驗證的壓力

–?離線驗證的屬性至少要包括

??iss,token的頒發(fā)機(jī)構(gòu)

??exp,token的過期時間

??如果希望驗證實時在線性,那你至少要維護(hù)session_state與token的關(guān)系,用戶主動退出,需要清除它的關(guān)系

??/auth/realms/lind?來查看iss頒發(fā)的分鑰信息

{
????"realm":"lind",
????"public_key":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyOCNCy8x",
????"token-service":"https://kc.com/auth/realms/fabao/protocol/openid-connect",
????"account-service":"https://kc.com/auth/realms/fabao/account",
????"tokens-not-before":1670507855
}

三?refreshtoken使用方式
refreshtoken去刷新token的方式方法,往往爭論不休,業(yè)界的做法也是多種多樣,其中使用最多的,還是在前端添加輪訓(xùn)操作,定時去通過refreshtoken去換新的accesstoken

??refreshToken()?{
??????this.refreshTime?=?setInterval(()?=>?{
????????checkToken(this.refreshLock,?this.$store)
??????},?60000)
????}


keycloak~session與token的關(guān)系的評論 (共 條)

分享到微博請遵守國家法律
海丰县| 扶绥县| 贞丰县| 九龙城区| 丹阳市| 论坛| 灵寿县| 班玛县| 菏泽市| 寻乌县| 永嘉县| 邵阳市| 什邡市| 永善县| 集贤县| 万宁市| 南雄市| 韶关市| 彭水| 临湘市| 阿拉善左旗| 抚州市| 汉中市| 沙湾县| 灌阳县| 迁西县| 金阳县| 法库县| 华池县| 台安县| 荣成市| 宜黄县| 阿巴嘎旗| 松原市| 灵石县| 福海县| 光泽县| 海兴县| 宜章县| 郴州市| 巴林右旗|