keycloak
公開メンバ関数 | 限定公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.adapters.jetty.core.JettyCookieTokenStore クラス
org.keycloak.adapters.jetty.core.JettyCookieTokenStore の継承関係図
Inheritance graph
org.keycloak.adapters.jetty.core.JettyCookieTokenStore 連携図
Collaboration graph

公開メンバ関数

 JettyCookieTokenStore (Request request, HttpFacade facade, KeycloakDeployment deployment)
 
void checkCurrentToken ()
 
boolean isCached (RequestAuthenticator authenticator)
 
void saveAccountInfo (OidcKeycloakAccount account)
 
void logout ()
 
void refreshCallback (RefreshableKeycloakSecurityContext secContext)
 
void saveRequest ()
 
boolean restoreRequest ()
 

限定公開メンバ関数

KeycloakPrincipal< RefreshableKeycloakSecurityContextcheckPrincipalFromCookie ()
 

非公開変数類

Request request
 
HttpFacade facade
 
KeycloakDeployment deployment
 
KeycloakPrincipal< RefreshableKeycloakSecurityContextauthenticatedPrincipal
 

静的非公開変数類

static final Logger log = Logger.getLogger(JettyCookieTokenStore.class)
 

詳解

Handle storage of token info in cookie. Per-request object.

著者
Marek Posolda

構築子と解体子

◆ JettyCookieTokenStore()

org.keycloak.adapters.jetty.core.JettyCookieTokenStore.JettyCookieTokenStore ( Request  request,
HttpFacade  facade,
KeycloakDeployment  deployment 
)
inline
47  {
48  this.request = request;
49  this.facade = facade;
50  this.deployment = deployment;
51  }
Request request
Definition: JettyCookieTokenStore.java:41
KeycloakDeployment deployment
Definition: JettyCookieTokenStore.java:43
HttpFacade facade
Definition: JettyCookieTokenStore.java:42

関数詳解

◆ checkCurrentToken()

void org.keycloak.adapters.jetty.core.JettyCookieTokenStore.checkCurrentToken ( )
inline

org.keycloak.adapters.AdapterTokenStoreを実装しています。

55  {
57  }
KeycloakPrincipal< RefreshableKeycloakSecurityContext > authenticatedPrincipal
Definition: JettyCookieTokenStore.java:45
KeycloakPrincipal< RefreshableKeycloakSecurityContext > checkPrincipalFromCookie()
Definition: JettyCookieTokenStore.java:102

◆ checkPrincipalFromCookie()

KeycloakPrincipal<RefreshableKeycloakSecurityContext> org.keycloak.adapters.jetty.core.JettyCookieTokenStore.checkPrincipalFromCookie ( )
inlineprotected

Verify if we already have authenticated and active principal in cookie. Perform refresh if it's not active

戻り値
valid principal
102  {
103  KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = CookieTokenStore.getPrincipalFromCookie(deployment, facade, this);
104  if (principal == null) {
105  log.debug("Account was not in cookie or was invalid");
106  return null;
107  }
108 
109  RefreshableKeycloakSecurityContext session = principal.getKeycloakSecurityContext();
110 
111  if (session.isActive() && !session.getDeployment().isAlwaysRefreshToken()) return principal;
112  boolean success = session.refreshExpiredToken(false);
113  if (success && session.isActive()) return principal;
114 
115  log.debugf("Cleanup and expire cookie for user %s after failed refresh", principal.getName());
116  CookieTokenStore.removeCookie(facade);
117  return null;
118  }
KeycloakDeployment deployment
Definition: JettyCookieTokenStore.java:43
static final Logger log
Definition: JettyCookieTokenStore.java:39
HttpFacade facade
Definition: JettyCookieTokenStore.java:42

◆ isCached()

boolean org.keycloak.adapters.jetty.core.JettyCookieTokenStore.isCached ( RequestAuthenticator  authenticator)
inline

org.keycloak.adapters.AdapterTokenStoreを実装しています。

60  {
61  // Assuming authenticatedPrincipal set by previous call of checkCurrentToken() during this request
62  if (authenticatedPrincipal != null) {
63  log.debug("remote logged in already. Establish state from cookie");
64  RefreshableKeycloakSecurityContext securityContext = authenticatedPrincipal.getKeycloakSecurityContext();
65 
66  if (!securityContext.getRealm().equals(deployment.getRealm())) {
67  log.debug("Account from cookie is from a different realm than for the request.");
68  return false;
69  }
70 
71  securityContext.setCurrentRequestInfo(deployment, this);
72 
73  request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext);
74  return true;
75  } else {
76  return false;
77  }
78  }
String getRealm()
Definition: KeycloakDeployment.java:111
Request request
Definition: JettyCookieTokenStore.java:41
KeycloakDeployment deployment
Definition: JettyCookieTokenStore.java:43
static final Logger log
Definition: JettyCookieTokenStore.java:39
KeycloakPrincipal< RefreshableKeycloakSecurityContext > authenticatedPrincipal
Definition: JettyCookieTokenStore.java:45

◆ logout()

void org.keycloak.adapters.jetty.core.JettyCookieTokenStore.logout ( )
inline

org.keycloak.adapters.AdapterTokenStoreを実装しています。

87  {
88  CookieTokenStore.removeCookie(facade);
89 
90  }
HttpFacade facade
Definition: JettyCookieTokenStore.java:42

◆ refreshCallback()

void org.keycloak.adapters.jetty.core.JettyCookieTokenStore.refreshCallback ( RefreshableKeycloakSecurityContext  secContext)
inline

org.keycloak.adapters.AdapterTokenStoreを実装しています。

93  {
94  CookieTokenStore.setTokenCookie(deployment, facade, secContext);
95  }
KeycloakDeployment deployment
Definition: JettyCookieTokenStore.java:43
HttpFacade facade
Definition: JettyCookieTokenStore.java:42

◆ restoreRequest()

boolean org.keycloak.adapters.jetty.core.JettyCookieTokenStore.restoreRequest ( )
inline
126  {
127  return false;
128  }

◆ saveAccountInfo()

void org.keycloak.adapters.jetty.core.JettyCookieTokenStore.saveAccountInfo ( OidcKeycloakAccount  account)
inline

org.keycloak.adapters.AdapterTokenStoreを実装しています。

81  {
82  RefreshableKeycloakSecurityContext securityContext = (RefreshableKeycloakSecurityContext)account.getKeycloakSecurityContext();
83  CookieTokenStore.setTokenCookie(deployment, facade, securityContext);
84  }
KeycloakDeployment deployment
Definition: JettyCookieTokenStore.java:43
HttpFacade facade
Definition: JettyCookieTokenStore.java:42

◆ saveRequest()

void org.keycloak.adapters.jetty.core.JettyCookieTokenStore.saveRequest ( )
inline
121  {
122 
123  }

メンバ詳解

◆ authenticatedPrincipal

KeycloakPrincipal<RefreshableKeycloakSecurityContext> org.keycloak.adapters.jetty.core.JettyCookieTokenStore.authenticatedPrincipal
private

◆ deployment

KeycloakDeployment org.keycloak.adapters.jetty.core.JettyCookieTokenStore.deployment
private

◆ facade

HttpFacade org.keycloak.adapters.jetty.core.JettyCookieTokenStore.facade
private

◆ log

final Logger org.keycloak.adapters.jetty.core.JettyCookieTokenStore.log = Logger.getLogger(JettyCookieTokenStore.class)
staticprivate

◆ request

Request org.keycloak.adapters.jetty.core.JettyCookieTokenStore.request
private

このクラス詳解は次のファイルから抽出されました: