中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

keyclaok~keycloak存到cookie中(zhong)的值和session_state

keycloak存到cookie中的值

  • AUTH_SESSION_ID
  • KEYCLOAK_IDENTITY
  • KEYCLOAK_SESSION

AUTH_SESSION_ID

用戶的(de)當前session_state,它是(shi)會話級的(de),關閉瀏覽器就沒了

KEYCLOAK_IDENTITY

它是用戶跨端登錄的基礎,它也是一個jwt串,解析后是這樣的結果,用戶在當前端沒有登錄時,會跳到kc認證頁,當發現cookie里的kc域下有這個KEYCLOAK_IDENTITY,會使用這個session_state進行認證,沒(mei)有(you)這個鍵(jian),KC認證不(bu)能完成。

{
    "exp": 1682659005,
    "iat": 1680067005,
    "jti": "d655a51e-f363-43cf-9f3e-1be8c4f7f082",
    "iss": "//finalcas.pkulaw.com/auth/realms/fabao",
    "sub": "347c9e9e-076c-45e3-be74-c482fffcc6e5",
    "typ": "Serialized-ID",
    "session_state": "4b020044-d273-41c6-9cea-c9ea1b0814f7",
    "state_checker": "SGniuhvr-FbQ7aznFTiTDIi2Gt4CKev7DI3vLNvJufo"
}

注意:如果瀏(liu)覽(lan)器的cookie里(li)的KEYCLOAK_IDENTITY丟失了,會導致KC出現無法登錄的問題,解(jie)決方法只能(neng)是(shi)清(qing)除瀏(liu)覽(lan)器里(li)的AUTH_SESSION_ID和KEYCLOAK_SESSION,注意還有后綴為LEGACY的鍵值.

KEYCLOAK_SESSION

當你可算讓KC記住你的登錄狀態,這時KC會在cookie中生成KEYCLOAK_SESSION,它的值默認與AUTH_SESSION_ID相同,當是一個包含過期時間的cookie,瀏覽器關閉后它依然保持,直到你在KC記住我中配置的過期時間。

假設(she)還有第(di)2個(ge)、第(di)3個(ge)應(ying)用(yong),在keycloak的(de)(de)相同的(de)(de)realm中(zhong)注冊了各自的(de)(de)client,我(wo)(wo)們在訪(fang)問第(di)2個(ge)、第(di)3個(ge)應(ying)用(yong)的(de)(de)時候,也會(hui)跳轉(zhuan)到(dao)keycloak登(deng)(deng)錄(lu)頁(ye)面(mian)(帶上各自的(de)(de)client_id, redirect_url),但是就像上面(mian)的(de)(de)現象(xiang)一樣,我(wo)(wo)們的(de)(de)keycloak登(deng)(deng)錄(lu)頁(ye)對應(ying)的(de)(de)domain/path中(zhong)有那3個(ge)cookie值AUTH_SESSION_ID,KEYCLOAK_IDENTITY和KEYCLOAK_SESSION, 這樣就會(hui)自動跳轉(zhuan)到(dao)我(wo)(wo)們應(ying)用(yong)的(de)(de)界(jie)面(mian),無需填寫keycloak登(deng)(deng)錄(lu)的(de)(de)賬號(hao)密碼,并且能夠返回授(shou)權碼code,這就算(suan)登(deng)(deng)錄(lu)成(cheng)功了,登(deng)(deng)錄(lu)成(cheng)功之后(hou),后(hou)續的(de)(de)操作(zuo)就是我(wo)(wo)們再利用(yong)這個(ge)授(shou)權碼code和client_secret訪(fang)問keycloak去獲取access token,這就是Oauth2.0的(de)(de)授(shou)權碼模(mo)式。

sesssion_state

以上三個被存儲在客戶端瀏覽器里的鍵值( AUTH_SESSION_ID, KEYCLOAK_IDENTITY,KEYCLOAK_SESSION)都有對session_state的存儲,只不過,我們存儲的有效期不同,AUTH_SESSION_ID是會話級,后兩個是與KC后臺配置的記住我中的refresh_token有效期相同的,即SSO Session Idle, SSO Session Max,Client Session Idle,Client Session Max四個配(pei)置,誰小(xiao)使用誰。

  • 當session_state達到這個refresh_token的超時時間+access_token超時時間后,它會被刪除
  • 當用戶進行登出操作后,它會被刪除
  • 如下配置,用戶在3+2分鐘后PM 02:22:17時,它的 會話將被刪除(回收)


    在02:22:17 PM時,這個會話將被回收,同時這個用戶在前端也會從新去登錄頁認證
posted @ 2023-03-30 14:43  張占嶺  閱讀(1004)  評論(0)    收藏  舉報