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

公開メンバ関数

 ClientScopesClientRegistrationPolicy (KeycloakSession session, ComponentModel componentModel)
 
void beforeRegister (ClientRegistrationContext context) throws ClientRegistrationPolicyException
 
void afterRegister (ClientRegistrationContext context, ClientModel clientModel)
 
void beforeUpdate (ClientRegistrationContext context, ClientModel clientModel) throws ClientRegistrationPolicyException
 
void afterUpdate (ClientRegistrationContext context, ClientModel clientModel)
 
void beforeView (ClientRegistrationProvider provider, ClientModel clientModel) throws ClientRegistrationPolicyException
 
void beforeDelete (ClientRegistrationProvider provider, ClientModel clientModel) throws ClientRegistrationPolicyException
 
default void close ()
 

非公開メンバ関数

void checkClientScopesAllowed (List< String > requestedScopes, List< String > allowedScopes) throws ClientRegistrationPolicyException
 
List< String > getAllowedScopeNames (RealmModel realm, boolean defaultScopes)
 

非公開変数類

final KeycloakSession session
 
final RealmModel realm
 
final ComponentModel componentModel
 

静的非公開変数類

static final Logger logger = Logger.getLogger(ClientScopesClientRegistrationPolicy.class)
 

詳解

著者
Marek Posolda

構築子と解体子

◆ ClientScopesClientRegistrationPolicy()

org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.ClientScopesClientRegistrationPolicy ( KeycloakSession  session,
ComponentModel  componentModel 
)
inline
46  {
47  this.session = session;
49  this.realm = session.realms().getRealm(componentModel.getParentId());
50  }
final RealmModel realm
Definition: ClientScopesClientRegistrationPolicy.java:43
final KeycloakSession session
Definition: ClientScopesClientRegistrationPolicy.java:42
final ComponentModel componentModel
Definition: ClientScopesClientRegistrationPolicy.java:44

関数詳解

◆ afterRegister()

void org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.afterRegister ( ClientRegistrationContext  context,
ClientModel  clientModel 
)
inline

org.keycloak.services.clientregistration.policy.ClientRegistrationPolicyを実装しています。

65  {
66 
67  }

◆ afterUpdate()

void org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.afterUpdate ( ClientRegistrationContext  context,
ClientModel  clientModel 
)
inline

org.keycloak.services.clientregistration.policy.ClientRegistrationPolicyを実装しています。

90  {
91 
92  }

◆ beforeDelete()

void org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.beforeDelete ( ClientRegistrationProvider  provider,
ClientModel  clientModel 
) throws ClientRegistrationPolicyException
inline

org.keycloak.services.clientregistration.policy.ClientRegistrationPolicyを実装しています。

100  {
101 
102  }

◆ beforeRegister()

void org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.beforeRegister ( ClientRegistrationContext  context) throws ClientRegistrationPolicyException
inline

org.keycloak.services.clientregistration.policy.ClientRegistrationPolicyを実装しています。

53  {
54  List<String> requestedDefaultScopeNames = context.getClient().getDefaultClientScopes();
55  List<String> requestedOptionalScopeNames = context.getClient().getOptionalClientScopes();
56 
57  List<String> allowedDefaultScopeNames = getAllowedScopeNames(realm, true);
58  List<String> allowedOptionalScopeNames = getAllowedScopeNames(realm, false);
59 
60  checkClientScopesAllowed(requestedDefaultScopeNames, allowedDefaultScopeNames);
61  checkClientScopesAllowed(requestedOptionalScopeNames, allowedOptionalScopeNames);
62  }
final RealmModel realm
Definition: ClientScopesClientRegistrationPolicy.java:43
void checkClientScopesAllowed(List< String > requestedScopes, List< String > allowedScopes)
Definition: ClientScopesClientRegistrationPolicy.java:104
List< String > getAllowedScopeNames(RealmModel realm, boolean defaultScopes)
Definition: ClientScopesClientRegistrationPolicy.java:115

◆ beforeUpdate()

void org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.beforeUpdate ( ClientRegistrationContext  context,
ClientModel  clientModel 
) throws ClientRegistrationPolicyException
inline

org.keycloak.services.clientregistration.policy.ClientRegistrationPolicyを実装しています。

70  {
71  List<String> requestedDefaultScopeNames = context.getClient().getDefaultClientScopes();
72  List<String> requestedOptionalScopeNames = context.getClient().getOptionalClientScopes();
73 
74  // Allow scopes, which were already presented before
75  if (requestedDefaultScopeNames != null) {
76  requestedDefaultScopeNames.removeAll(clientModel.getClientScopes(true, false).keySet());
77  }
78  if (requestedOptionalScopeNames != null) {
79  requestedOptionalScopeNames.removeAll(clientModel.getClientScopes(false, false).keySet());
80  }
81 
82  List<String> allowedDefaultScopeNames = getAllowedScopeNames(realm, true);
83  List<String> allowedOptionalScopeNames = getAllowedScopeNames(realm, false);
84 
85  checkClientScopesAllowed(requestedDefaultScopeNames, allowedDefaultScopeNames);
86  checkClientScopesAllowed(requestedOptionalScopeNames, allowedOptionalScopeNames);
87  }
final RealmModel realm
Definition: ClientScopesClientRegistrationPolicy.java:43
void checkClientScopesAllowed(List< String > requestedScopes, List< String > allowedScopes)
Definition: ClientScopesClientRegistrationPolicy.java:104
List< String > getAllowedScopeNames(RealmModel realm, boolean defaultScopes)
Definition: ClientScopesClientRegistrationPolicy.java:115

◆ beforeView()

void org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.beforeView ( ClientRegistrationProvider  provider,
ClientModel  clientModel 
) throws ClientRegistrationPolicyException
inline

org.keycloak.services.clientregistration.policy.ClientRegistrationPolicyを実装しています。

95  {
96 
97  }

◆ checkClientScopesAllowed()

void org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.checkClientScopesAllowed ( List< String >  requestedScopes,
List< String >  allowedScopes 
) throws ClientRegistrationPolicyException
inlineprivate
104  {
105  if (requestedScopes != null) {
106  for (String requested : requestedScopes) {
107  if (!allowedScopes.contains(requested)) {
108  logger.warnf("Requested scope '%s' not trusted in the list: %s", requested, allowedScopes.toString());
109  throw new ClientRegistrationPolicyException("Not permitted to use specified clientScope");
110  }
111  }
112  }
113  }
static final Logger logger
Definition: ClientScopesClientRegistrationPolicy.java:40

◆ close()

default void org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy.close ( )
inlineinherited
43  {
44  }

◆ getAllowedScopeNames()

List<String> org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.getAllowedScopeNames ( RealmModel  realm,
boolean  defaultScopes 
)
inlineprivate
115  {
116  List<String> allAllowed = new LinkedList<>();
117 
118  // Add client scopes allowed by config
119  List<String> allowedScopesConfig = componentModel.getConfig().getList(ClientScopesClientRegistrationPolicyFactory.ALLOWED_CLIENT_SCOPES);
120  if (allowedScopesConfig != null) {
121  allAllowed.addAll(allowedScopesConfig);
122  }
123 
124  // If allowDefaultScopes, then realm default scopes are allowed as default scopes (+ optional scopes are allowed as optional scopes)
125  boolean allowDefaultScopes = componentModel.get(ClientScopesClientRegistrationPolicyFactory.ALLOW_DEFAULT_SCOPES, true);
126  if (allowDefaultScopes) {
127  List<String> scopeNames = realm.getDefaultClientScopes(defaultScopes).stream().map((ClientScopeModel clientScope) -> {
128 
129  return clientScope.getName();
130 
131  }).collect(Collectors.toList());
132 
133  allAllowed.addAll(scopeNames);
134  }
135 
136  return allAllowed;
137  }
final RealmModel realm
Definition: ClientScopesClientRegistrationPolicy.java:43
final ComponentModel componentModel
Definition: ClientScopesClientRegistrationPolicy.java:44

メンバ詳解

◆ componentModel

final ComponentModel org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.componentModel
private

◆ logger

final Logger org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.logger = Logger.getLogger(ClientScopesClientRegistrationPolicy.class)
staticprivate

◆ realm

final RealmModel org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.realm
private

◆ session

final KeycloakSession org.keycloak.services.clientregistration.policy.impl.ClientScopesClientRegistrationPolicy.session
private

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