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

公開メンバ関数

 ClientStorageManager (KeycloakSession session)
 
ClientModel getClientById (String id, RealmModel realm)
 
ClientModel getClientByClientId (String clientId, RealmModel realm)
 
ClientModel addClient (RealmModel realm, String clientId)
 
ClientModel addClient (RealmModel realm, String id, String clientId)
 
List< ClientModel > getClients (RealmModel realm)
 
RoleModel addClientRole (RealmModel realm, ClientModel client, String name)
 
RoleModel addClientRole (RealmModel realm, ClientModel client, String id, String name)
 
RoleModel getClientRole (RealmModel realm, ClientModel client, String name)
 
Set< RoleModel > getClientRoles (RealmModel realm, ClientModel client)
 
void close ()
 
boolean removeClient (String id, RealmModel realm)
 

静的公開メンバ関数

static boolean isStorageProviderEnabled (RealmModel realm, String providerId)
 
static ClientStorageProviderModel getStorageProviderModel (RealmModel realm, String componentId)
 
static ClientStorageProvider getStorageProvider (KeycloakSession session, RealmModel realm, String componentId)
 
static List< ClientStorageProviderModel > getStorageProviders (RealmModel realm)
 
static ClientStorageProvider getStorageProviderInstance (KeycloakSession session, ClientStorageProviderModel model, ClientStorageProviderFactory factory)
 
static< T > List< T > getStorageProviders (KeycloakSession session, RealmModel realm, Class< T > type)
 
static< T > List< T > getEnabledStorageProviders (KeycloakSession session, RealmModel realm, Class< T > type)
 

限定公開変数類

KeycloakSession session
 

静的非公開変数類

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

詳解

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ ClientStorageManager()

org.keycloak.storage.ClientStorageManager.ClientStorageManager ( KeycloakSession  session)
inline
125  {
126  this.session = session;
127  }
KeycloakSession session
Definition: ClientStorageManager.java:46

関数詳解

◆ addClient() [1/2]

ClientModel org.keycloak.storage.ClientStorageManager.addClient ( RealmModel  realm,
String  clientId 
)
inline
156  {
157  return session.clientLocalStorage().addClient(realm, clientId);
158  }
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ addClient() [2/2]

ClientModel org.keycloak.storage.ClientStorageManager.addClient ( RealmModel  realm,
String  id,
String  clientId 
)
inline
161  {
162  return session.clientLocalStorage().addClient(realm, id, clientId);
163  }
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ addClientRole() [1/2]

RoleModel org.keycloak.storage.ClientStorageManager.addClientRole ( RealmModel  realm,
ClientModel  client,
String  name 
)
inline
174  {
175  if (!StorageId.isLocalStorage(client.getId())) {
176  throw new RuntimeException("Federated clients do not support this operation");
177  }
178  return session.clientLocalStorage().addClientRole(realm, client, name);
179  }
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ addClientRole() [2/2]

RoleModel org.keycloak.storage.ClientStorageManager.addClientRole ( RealmModel  realm,
ClientModel  client,
String  id,
String  name 
)
inline
182  {
183  if (!StorageId.isLocalStorage(client.getId())) {
184  throw new RuntimeException("Federated clients do not support this operation");
185  }
186  return session.clientLocalStorage().addClientRole(realm, client, id, name);
187  }
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ close()

void org.keycloak.storage.ClientStorageManager.close ( )
inline
208  {
209 
210  }

◆ getClientByClientId()

ClientModel org.keycloak.storage.ClientStorageManager.getClientByClientId ( String  clientId,
RealmModel  realm 
)
inline
142  {
143  ClientModel client = session.clientLocalStorage().getClientByClientId(clientId, realm);
144  if (client != null) {
145  return client;
146  }
147  for (ClientLookupProvider provider : getEnabledStorageProviders(session, realm, ClientLookupProvider.class)) {
148  client = provider.getClientByClientId(clientId, realm);
149  if (client != null) return client;
150  }
151  return null;
152  }
KeycloakSession session
Definition: ClientStorageManager.java:46
static< T > List< T > getEnabledStorageProviders(KeycloakSession session, RealmModel realm, Class< T > type)
Definition: ClientStorageManager.java:106

◆ getClientById()

ClientModel org.keycloak.storage.ClientStorageManager.getClientById ( String  id,
RealmModel  realm 
)
inline
130  {
131  StorageId storageId = new StorageId(id);
132  if (storageId.getProviderId() == null) {
133  return session.clientLocalStorage().getClientById(id, realm);
134  }
135  ClientLookupProvider provider = (ClientLookupProvider)getStorageProvider(session, realm, storageId.getProviderId());
136  if (provider == null) return null;
137  if (!isStorageProviderEnabled(realm, storageId.getProviderId())) return null;
138  return provider.getClientById(id, realm);
139  }
static boolean isStorageProviderEnabled(RealmModel realm, String providerId)
Definition: ClientStorageManager.java:48
KeycloakSession session
Definition: ClientStorageManager.java:46
static ClientStorageProvider getStorageProvider(KeycloakSession session, RealmModel realm, String componentId)
Definition: ClientStorageManager.java:59

◆ getClientRole()

RoleModel org.keycloak.storage.ClientStorageManager.getClientRole ( RealmModel  realm,
ClientModel  client,
String  name 
)
inline
190  {
191  if (!StorageId.isLocalStorage(client.getId())) {
192  //throw new RuntimeException("Federated clients do not support this operation");
193  return null;
194  }
195  return session.clientLocalStorage().getClientRole(realm, client, name);
196  }
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ getClientRoles()

Set<RoleModel> org.keycloak.storage.ClientStorageManager.getClientRoles ( RealmModel  realm,
ClientModel  client 
)
inline
199  {
200  if (!StorageId.isLocalStorage(client.getId())) {
201  //throw new RuntimeException("Federated clients do not support this operation");
202  return Collections.EMPTY_SET;
203  }
204  return session.clientLocalStorage().getClientRoles(realm, client);
205  }
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ getClients()

List<ClientModel> org.keycloak.storage.ClientStorageManager.getClients ( RealmModel  realm)
inline
169  {
170  return session.clientLocalStorage().getClients(realm);
171  }
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ getEnabledStorageProviders()

static <T> List<T> org.keycloak.storage.ClientStorageManager.getEnabledStorageProviders ( KeycloakSession  session,
RealmModel  realm,
Class< T >  type 
)
inlinestatic
106  {
107  List<T> list = new LinkedList<>();
108  for (ClientStorageProviderModel model : getStorageProviders(realm)) {
109  if (!model.isEnabled()) continue;
110  ClientStorageProviderFactory factory = (ClientStorageProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(ClientStorageProvider.class, model.getProviderId());
111  if (factory == null) {
112  logger.warnv("Configured ClientStorageProvider {0} of provider id {1} does not exist in realm {2}", model.getName(), model.getProviderId(), realm.getName());
113  continue;
114  }
115  if (Types.supports(type, factory, ClientStorageProviderFactory.class)) {
116  list.add(type.cast(getStorageProviderInstance(session, model, factory)));
117  }
118 
119 
120  }
121  return list;
122  }
static ClientStorageProvider getStorageProviderInstance(KeycloakSession session, ClientStorageProviderModel model, ClientStorageProviderFactory factory)
Definition: ClientStorageManager.java:75
KeycloakSession session
Definition: ClientStorageManager.java:46
static final Logger logger
Definition: ClientStorageManager.java:44
static List< ClientStorageProviderModel > getStorageProviders(RealmModel realm)
Definition: ClientStorageManager.java:71

◆ getStorageProvider()

static ClientStorageProvider org.keycloak.storage.ClientStorageManager.getStorageProvider ( KeycloakSession  session,
RealmModel  realm,
String  componentId 
)
inlinestatic
59  {
60  ComponentModel model = realm.getComponent(componentId);
61  if (model == null) return null;
62  ClientStorageProviderModel storageModel = new ClientStorageProviderModel(model);
63  ClientStorageProviderFactory factory = (ClientStorageProviderFactory)session.getKeycloakSessionFactory().getProviderFactory(ClientStorageProvider.class, model.getProviderId());
64  if (factory == null) {
65  throw new ModelException("Could not find ClientStorageProviderFactory for: " + model.getProviderId());
66  }
67  return getStorageProviderInstance(session, storageModel, factory);
68  }
static ClientStorageProvider getStorageProviderInstance(KeycloakSession session, ClientStorageProviderModel model, ClientStorageProviderFactory factory)
Definition: ClientStorageManager.java:75
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ getStorageProviderInstance()

static ClientStorageProvider org.keycloak.storage.ClientStorageManager.getStorageProviderInstance ( KeycloakSession  session,
ClientStorageProviderModel  model,
ClientStorageProviderFactory  factory 
)
inlinestatic
75  {
76  ClientStorageProvider instance = (ClientStorageProvider)session.getAttribute(model.getId());
77  if (instance != null) return instance;
78  instance = factory.create(session, model);
79  if (instance == null) {
80  throw new IllegalStateException("ClientStorageProvideFactory (of type " + factory.getClass().getName() + ") produced a null instance");
81  }
82  session.enlistForClose(instance);
83  session.setAttribute(model.getId(), instance);
84  return instance;
85  }
KeycloakSession session
Definition: ClientStorageManager.java:46

◆ getStorageProviderModel()

static ClientStorageProviderModel org.keycloak.storage.ClientStorageManager.getStorageProviderModel ( RealmModel  realm,
String  componentId 
)
inlinestatic
53  {
54  ComponentModel model = realm.getComponent(componentId);
55  if (model == null) return null;
56  return new ClientStorageProviderModel(model);
57  }

◆ getStorageProviders() [1/2]

static List<ClientStorageProviderModel> org.keycloak.storage.ClientStorageManager.getStorageProviders ( RealmModel  realm)
inlinestatic
71  {
72  return realm.getClientStorageProviders();
73  }

◆ getStorageProviders() [2/2]

static <T> List<T> org.keycloak.storage.ClientStorageManager.getStorageProviders ( KeycloakSession  session,
RealmModel  realm,
Class< T >  type 
)
inlinestatic
88  {
89  List<T> list = new LinkedList<>();
90  for (ClientStorageProviderModel model : getStorageProviders(realm)) {
91  ClientStorageProviderFactory factory = (ClientStorageProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(ClientStorageProvider.class, model.getProviderId());
92  if (factory == null) {
93  logger.warnv("Configured ClientStorageProvider {0} of provider id {1} does not exist in realm {2}", model.getName(), model.getProviderId(), realm.getName());
94  continue;
95  }
96  if (Types.supports(type, factory, ClientStorageProviderFactory.class)) {
97  list.add(type.cast(getStorageProviderInstance(session, model, factory)));
98  }
99 
100 
101  }
102  return list;
103  }
static ClientStorageProvider getStorageProviderInstance(KeycloakSession session, ClientStorageProviderModel model, ClientStorageProviderFactory factory)
Definition: ClientStorageManager.java:75
KeycloakSession session
Definition: ClientStorageManager.java:46
static final Logger logger
Definition: ClientStorageManager.java:44
static List< ClientStorageProviderModel > getStorageProviders(RealmModel realm)
Definition: ClientStorageManager.java:71

◆ isStorageProviderEnabled()

static boolean org.keycloak.storage.ClientStorageManager.isStorageProviderEnabled ( RealmModel  realm,
String  providerId 
)
inlinestatic
48  {
49  ClientStorageProviderModel model = getStorageProviderModel(realm, providerId);
50  return model.isEnabled();
51  }
static ClientStorageProviderModel getStorageProviderModel(RealmModel realm, String componentId)
Definition: ClientStorageManager.java:53

◆ removeClient()

boolean org.keycloak.storage.ClientStorageManager.removeClient ( String  id,
RealmModel  realm 
)
inline
213  {
214  if (!StorageId.isLocalStorage(id)) {
215  throw new RuntimeException("Federated clients do not support this operation");
216  }
217  return session.clientLocalStorage().removeClient(id, realm);
218  }
KeycloakSession session
Definition: ClientStorageManager.java:46

メンバ詳解

◆ logger

final Logger org.keycloak.storage.ClientStorageManager.logger = Logger.getLogger(ClientStorageManager.class)
staticprivate

◆ session

KeycloakSession org.keycloak.storage.ClientStorageManager.session
protected

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