keycloak-service
公開メンバ関数 | 静的公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.services.util.DefaultClientSessionContext クラス
org.keycloak.services.util.DefaultClientSessionContext の継承関係図
Inheritance graph
org.keycloak.services.util.DefaultClientSessionContext 連携図
Collaboration graph

公開メンバ関数

AuthenticatedClientSessionModel getClientSession ()
 
Set< String > getClientScopeIds ()
 
Set< ClientScopeModel > getClientScopes ()
 
Set< RoleModel > getRoles ()
 
Set< ProtocolMapperModel > getProtocolMappers ()
 
String getScopeString ()
 

静的公開メンバ関数

static DefaultClientSessionContext fromClientSessionScopeParameter (AuthenticatedClientSessionModel clientSession)
 
static DefaultClientSessionContext fromClientSessionAndScopeParameter (AuthenticatedClientSessionModel clientSession, String scopeParam)
 
static DefaultClientSessionContext fromClientSessionAndClientScopeIds (AuthenticatedClientSessionModel clientSession, Set< String > clientScopeIds)
 
static DefaultClientSessionContext fromClientSessionAndClientScopes (AuthenticatedClientSessionModel clientSession, Set< ClientScopeModel > clientScopes)
 

非公開メンバ関数

 DefaultClientSessionContext (AuthenticatedClientSessionModel clientSession, Set< String > clientScopeIds)
 
Set< ClientScopeModel > loadClientScopes ()
 
Set< RoleModel > loadRoles ()
 
Set< ProtocolMapperModel > loadProtocolMappers ()
 

非公開変数類

final AuthenticatedClientSessionModel clientSession
 
final Set< String > clientScopeIds
 
Set< ClientScopeModel > clientScopes
 
Set< RoleModel > roles
 
Set< ProtocolMapperModel > protocolMappers
 

静的非公開変数類

static Logger logger = Logger.getLogger(DefaultClientSessionContext.class)
 

詳解

Not thread safe. It's per-request object

著者
Marek Posolda

構築子と解体子

◆ DefaultClientSessionContext()

org.keycloak.services.util.DefaultClientSessionContext.DefaultClientSessionContext ( AuthenticatedClientSessionModel  clientSession,
Set< String >  clientScopeIds 
)
inlineprivate
54  {
57  }
final Set< String > clientScopeIds
Definition: DefaultClientSessionContext.java:48
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47

関数詳解

◆ fromClientSessionAndClientScopeIds()

static DefaultClientSessionContext org.keycloak.services.util.DefaultClientSessionContext.fromClientSessionAndClientScopeIds ( AuthenticatedClientSessionModel  clientSession,
Set< String >  clientScopeIds 
)
inlinestatic
74  {
76  }
final Set< String > clientScopeIds
Definition: DefaultClientSessionContext.java:48
DefaultClientSessionContext(AuthenticatedClientSessionModel clientSession, Set< String > clientScopeIds)
Definition: DefaultClientSessionContext.java:54
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47

◆ fromClientSessionAndClientScopes()

static DefaultClientSessionContext org.keycloak.services.util.DefaultClientSessionContext.fromClientSessionAndClientScopes ( AuthenticatedClientSessionModel  clientSession,
Set< ClientScopeModel >  clientScopes 
)
inlinestatic
79  {
80  Set<String> clientScopeIds = new HashSet<>();
81  for (ClientScopeModel clientScope : clientScopes) {
82  clientScopeIds.add(clientScope.getId());
83  }
84 
86  ctx.clientScopes = new HashSet<>(clientScopes);
87  return ctx;
88  }
final Set< String > clientScopeIds
Definition: DefaultClientSessionContext.java:48
DefaultClientSessionContext(AuthenticatedClientSessionModel clientSession, Set< String > clientScopeIds)
Definition: DefaultClientSessionContext.java:54
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47
Set< ClientScopeModel > clientScopes
Definition: DefaultClientSessionContext.java:50

◆ fromClientSessionAndScopeParameter()

static DefaultClientSessionContext org.keycloak.services.util.DefaultClientSessionContext.fromClientSessionAndScopeParameter ( AuthenticatedClientSessionModel  clientSession,
String  scopeParam 
)
inlinestatic
68  {
69  Set<ClientScopeModel> requestedClientScopes = TokenManager.getRequestedClientScopes(scopeParam, clientSession.getClient());
70  return fromClientSessionAndClientScopes(clientSession, requestedClientScopes);
71  }
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47
static DefaultClientSessionContext fromClientSessionAndClientScopes(AuthenticatedClientSessionModel clientSession, Set< ClientScopeModel > clientScopes)
Definition: DefaultClientSessionContext.java:79

◆ fromClientSessionScopeParameter()

static DefaultClientSessionContext org.keycloak.services.util.DefaultClientSessionContext.fromClientSessionScopeParameter ( AuthenticatedClientSessionModel  clientSession)
inlinestatic

Useful if we want to "re-compute" client scopes based on the scope parameter

63  {
64  return fromClientSessionAndScopeParameter(clientSession, clientSession.getNote(OAuth2Constants.SCOPE));
65  }
static DefaultClientSessionContext fromClientSessionAndScopeParameter(AuthenticatedClientSessionModel clientSession, String scopeParam)
Definition: DefaultClientSessionContext.java:68
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47

◆ getClientScopeIds()

Set<String> org.keycloak.services.util.DefaultClientSessionContext.getClientScopeIds ( )
inline
98  {
99  return clientScopeIds;
100  }
final Set< String > clientScopeIds
Definition: DefaultClientSessionContext.java:48

◆ getClientScopes()

Set<ClientScopeModel> org.keycloak.services.util.DefaultClientSessionContext.getClientScopes ( )
inline
104  {
105  // Load client scopes if not yet present
106  if (clientScopes == null) {
108  }
109  return clientScopes;
110  }
Set< ClientScopeModel > clientScopes
Definition: DefaultClientSessionContext.java:50
Set< ClientScopeModel > loadClientScopes()
Definition: DefaultClientSessionContext.java:166

◆ getClientSession()

AuthenticatedClientSessionModel org.keycloak.services.util.DefaultClientSessionContext.getClientSession ( )
inline
92  {
93  return clientSession;
94  }
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47

◆ getProtocolMappers()

Set<ProtocolMapperModel> org.keycloak.services.util.DefaultClientSessionContext.getProtocolMappers ( )
inline
124  {
125  // Load roles if not yet present
126  if (protocolMappers == null) {
128  }
129  return protocolMappers;
130  }
Set< ProtocolMapperModel > protocolMappers
Definition: DefaultClientSessionContext.java:52
Set< ProtocolMapperModel > loadProtocolMappers()
Definition: DefaultClientSessionContext.java:188

◆ getRoles()

Set<RoleModel> org.keycloak.services.util.DefaultClientSessionContext.getRoles ( )
inline
114  {
115  // Load roles if not yet present
116  if (roles == null) {
117  roles = loadRoles();
118  }
119  return roles;
120  }
Set< RoleModel > loadRoles()
Definition: DefaultClientSessionContext.java:178
Set< RoleModel > roles
Definition: DefaultClientSessionContext.java:51

◆ getScopeString()

String org.keycloak.services.util.DefaultClientSessionContext.getScopeString ( )
inline
134  {
135  StringBuilder builder = new StringBuilder();
136 
137  // Add both default and optional scopes to scope parameter. Don't add client itself
138  boolean first = true;
139  for (ClientScopeModel clientScope : getClientScopes()) {
140  if (clientScope instanceof ClientModel) {
141  continue;
142  }
143 
144  if (first) {
145  first = false;
146  } else {
147  builder.append(" ");
148  }
149  builder.append(clientScope.getName());
150  }
151 
152  String scopeParam = builder.toString();
153 
154  // See if "openid" scope is requested
155  String scopeSent = clientSession.getNote(OAuth2Constants.SCOPE);
156  if (TokenUtil.isOIDCRequest(scopeSent)) {
157  scopeParam = TokenUtil.attachOIDCScope(scopeParam);
158  }
159 
160  return scopeParam;
161  }
Set< ClientScopeModel > getClientScopes()
Definition: DefaultClientSessionContext.java:104
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47

◆ loadClientScopes()

Set<ClientScopeModel> org.keycloak.services.util.DefaultClientSessionContext.loadClientScopes ( )
inlineprivate
166  {
167  Set<ClientScopeModel> clientScopes = new HashSet<>();
168  for (String scopeId : clientScopeIds) {
169  ClientScopeModel clientScope = KeycloakModelUtils.findClientScopeById(clientSession.getClient().getRealm(), scopeId);
170  if (clientScope != null) {
171  clientScopes.add(clientScope);
172  }
173  }
174  return clientScopes;
175  }
final Set< String > clientScopeIds
Definition: DefaultClientSessionContext.java:48
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47
Set< ClientScopeModel > clientScopes
Definition: DefaultClientSessionContext.java:50

◆ loadProtocolMappers()

Set<ProtocolMapperModel> org.keycloak.services.util.DefaultClientSessionContext.loadProtocolMappers ( )
inlineprivate
188  {
189  Set<ClientScopeModel> clientScopes = getClientScopes();
190  String protocol = clientSession.getClient().getProtocol();
191 
192  // Being rather defensive. But protocol should normally always be there
193  if (protocol == null) {
194  logger.warnf("Client '%s' doesn't have protocol set. Fallback to openid-connect. Please fix client configuration", clientSession.getClient().getClientId());
195  protocol = OIDCLoginProtocol.LOGIN_PROTOCOL;
196  }
197 
198  Set<ProtocolMapperModel> protocolMappers = new HashSet<>();
199  for (ClientScopeModel clientScope : clientScopes) {
200  Set<ProtocolMapperModel> currentMappers = clientScope.getProtocolMappers();
201  for (ProtocolMapperModel currentMapper : currentMappers) {
202  if (protocol.equals(currentMapper.getProtocol())) {
203  protocolMappers.add(currentMapper);
204  }
205  }
206  }
207 
208  return protocolMappers;
209  }
Set< ClientScopeModel > getClientScopes()
Definition: DefaultClientSessionContext.java:104
static Logger logger
Definition: DefaultClientSessionContext.java:45
Set< ProtocolMapperModel > protocolMappers
Definition: DefaultClientSessionContext.java:52
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47
Set< ClientScopeModel > clientScopes
Definition: DefaultClientSessionContext.java:50

◆ loadRoles()

Set<RoleModel> org.keycloak.services.util.DefaultClientSessionContext.loadRoles ( )
inlineprivate
178  {
179  UserModel user = clientSession.getUserSession().getUser();
180  ClientModel client = clientSession.getClient();
181 
182  Set<ClientScopeModel> clientScopes = getClientScopes();
183 
184  return TokenManager.getAccess(user, client, clientScopes);
185  }
Set< ClientScopeModel > getClientScopes()
Definition: DefaultClientSessionContext.java:104
final AuthenticatedClientSessionModel clientSession
Definition: DefaultClientSessionContext.java:47
Set< ClientScopeModel > clientScopes
Definition: DefaultClientSessionContext.java:50

メンバ詳解

◆ clientScopeIds

final Set<String> org.keycloak.services.util.DefaultClientSessionContext.clientScopeIds
private

◆ clientScopes

Set<ClientScopeModel> org.keycloak.services.util.DefaultClientSessionContext.clientScopes
private

◆ clientSession

final AuthenticatedClientSessionModel org.keycloak.services.util.DefaultClientSessionContext.clientSession
private

◆ logger

Logger org.keycloak.services.util.DefaultClientSessionContext.logger = Logger.getLogger(DefaultClientSessionContext.class)
staticprivate

◆ protocolMappers

Set<ProtocolMapperModel> org.keycloak.services.util.DefaultClientSessionContext.protocolMappers
private

◆ roles

Set<RoleModel> org.keycloak.services.util.DefaultClientSessionContext.roles
private

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