keycloak
公開メンバ関数 | 非公開メンバ関数 | 全メンバ一覧
org.keycloak.authorization.store.syncronization.ClientApplicationSynchronizer クラス
org.keycloak.authorization.store.syncronization.ClientApplicationSynchronizer の継承関係図
Inheritance graph
org.keycloak.authorization.store.syncronization.ClientApplicationSynchronizer 連携図
Collaboration graph

公開メンバ関数

void synchronize (ClientRemovedEvent event, KeycloakSessionFactory factory)
 
void synchronize (E event, KeycloakSessionFactory factory)
 

非公開メンバ関数

void removeFromClientPolicies (ClientRemovedEvent event, AuthorizationProvider authorizationProvider)
 

詳解

著者
Pedro Igor

関数詳解

◆ removeFromClientPolicies()

void org.keycloak.authorization.store.syncronization.ClientApplicationSynchronizer.removeFromClientPolicies ( ClientRemovedEvent  event,
AuthorizationProvider  authorizationProvider 
)
inlineprivate
50  {
51  StoreFactory storeFactory = authorizationProvider.getStoreFactory();
52  ResourceServerStore store = storeFactory.getResourceServerStore();
53  ResourceServer resourceServer = store.findById(event.getClient().getId());
54 
55  if (resourceServer != null) {
56  storeFactory.getResourceServerStore().delete(resourceServer.getId());
57  }
58 
59  Map<String, String[]> attributes = new HashMap<>();
60 
61  attributes.put("type", new String[] {"client"});
62  attributes.put("config:clients", new String[] {event.getClient().getId()});
63 
64  List<Policy> search = storeFactory.getPolicyStore().findByResourceServer(attributes, null, -1, -1);
65 
66  for (Policy policy : search) {
67  PolicyProviderFactory policyFactory = authorizationProvider.getProviderFactory(policy.getType());
68  ClientPolicyRepresentation representation = ClientPolicyRepresentation.class.cast(policyFactory.toRepresentation(policy, authorizationProvider));
69  Set<String> clients = representation.getClients();
70 
71  clients.remove(event.getClient().getId());
72 
73  if (clients.isEmpty()) {
74  policyFactory.onRemove(policy, authorizationProvider);
75  authorizationProvider.getStoreFactory().getPolicyStore().delete(policy.getId());
76  } else {
77  policyFactory.onUpdate(policy, representation, authorizationProvider);
78  }
79  }
80  }

◆ synchronize() [1/2]

void org.keycloak.authorization.store.syncronization.Synchronizer< E extends ProviderEvent >.synchronize ( event,
KeycloakSessionFactory  factory 
)
inherited

◆ synchronize() [2/2]

void org.keycloak.authorization.store.syncronization.ClientApplicationSynchronizer.synchronize ( ClientRemovedEvent  event,
KeycloakSessionFactory  factory 
)
inline
43  {
44  ProviderFactory<AuthorizationProvider> providerFactory = factory.getProviderFactory(AuthorizationProvider.class);
45  AuthorizationProvider authorizationProvider = providerFactory.create(event.getKeycloakSession());
46 
47  removeFromClientPolicies(event, authorizationProvider);
48  }
void removeFromClientPolicies(ClientRemovedEvent event, AuthorizationProvider authorizationProvider)
Definition: ClientApplicationSynchronizer.java:50

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