keycloak-service
公開メンバ関数 | 限定公開変数類 | 静的限定公開変数類 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.services.resources.admin.ComponentResource クラス
org.keycloak.services.resources.admin.ComponentResource 連携図
Collaboration graph

公開メンバ関数

 ComponentResource (RealmModel realm, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent)
 
List< ComponentRepresentation > getComponents (@QueryParam("parent") String parent, @QueryParam("type") String type, @QueryParam("name") String name)
 
Response create (ComponentRepresentation rep)
 
ComponentRepresentation getComponent (@PathParam("id") String id)
 
Response updateComponent (@PathParam("id") String id, ComponentRepresentation rep)
 
void removeComponent (@PathParam("id") String id)
 
List< ComponentTypeRepresentation > getSubcomponentConfig (@PathParam("id") String parentId, @QueryParam("type") String subtype)
 

限定公開変数類

RealmModel realm
 
ClientConnection clientConnection
 
KeycloakSession session
 
HttpHeaders headers
 

静的限定公開変数類

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

非公開メンバ関数

Response localizedErrorResponse (ComponentValidationException cve)
 

非公開変数類

AdminPermissionEvaluator auth
 
AdminEventBuilder adminEvent
 

詳解

Component

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ ComponentResource()

org.keycloak.services.resources.admin.ComponentResource.ComponentResource ( RealmModel  realm,
AdminPermissionEvaluator  auth,
AdminEventBuilder  adminEvent 
)
inline
88  {
89  this.auth = auth;
90  this.realm = realm;
91  this.adminEvent = adminEvent.resource(ResourceType.COMPONENT);
92  }
RealmModel realm
Definition: ComponentResource.java:73
AdminPermissionEvaluator auth
Definition: ComponentResource.java:75
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder adminEvent
Definition: ComponentResource.java:77

関数詳解

◆ create()

Response org.keycloak.services.resources.admin.ComponentResource.create ( ComponentRepresentation  rep)
inline
129  {
131  try {
132  ComponentModel model = RepresentationToModel.toModel(session, rep);
133  if (model.getParentId() == null) model.setParentId(realm.getId());
134 
135  model = realm.addComponentModel(model);
136 
137  adminEvent.operation(OperationType.CREATE).resourcePath(session.getContext().getUri(), model.getId()).representation(StripSecretsUtils.strip(session, rep)).success();
138  return Response.created(session.getContext().getUri().getAbsolutePathBuilder().path(model.getId()).build()).build();
139  } catch (ComponentValidationException e) {
140  return localizedErrorResponse(e);
141  } catch (IllegalArgumentException e) {
142  throw new BadRequestException(e);
143  }
144  }
RealmModel realm
Definition: ComponentResource.java:73
AdminPermissionEvaluator auth
Definition: ComponentResource.java:75
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
Response localizedErrorResponse(ComponentValidationException cve)
Definition: ComponentResource.java:193
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ComponentResource.java:83
AdminEventBuilder adminEvent
Definition: ComponentResource.java:77

◆ getComponent()

ComponentRepresentation org.keycloak.services.resources.admin.ComponentResource.getComponent ( @PathParam("id") String  id)
inline
150  {
152  ComponentModel model = realm.getComponent(id);
153  if (model == null) {
154  throw new NotFoundException("Could not find component");
155  }
156  ComponentRepresentation rep = ModelToRepresentation.toRepresentation(session, model, false);
157  return rep;
158  }
RealmModel realm
Definition: ComponentResource.java:73
AdminPermissionEvaluator auth
Definition: ComponentResource.java:75
KeycloakSession session
Definition: ComponentResource.java:83

◆ getComponents()

List<ComponentRepresentation> org.keycloak.services.resources.admin.ComponentResource.getComponents ( @QueryParam("parent") String  parent,
@QueryParam("type") String  type,
@QueryParam("name") String  name 
)
inline
99  {
101  List<ComponentModel> components = Collections.EMPTY_LIST;
102  if (parent == null && type == null) {
103  components = realm.getComponents();
104 
105  } else if (type == null) {
106  components = realm.getComponents(parent);
107  } else if (parent == null) {
108  components = realm.getComponents(realm.getId(), type);
109  } else {
110  components = realm.getComponents(parent, type);
111  }
112  List<ComponentRepresentation> reps = new LinkedList<>();
113  for (ComponentModel component : components) {
114  if (name != null && !name.equals(component.getName())) continue;
115  ComponentRepresentation rep = null;
116  try {
117  rep = ModelToRepresentation.toRepresentation(session, component, false);
118  } catch (Exception e) {
119  logger.error("Failed to get component list for component model" + component.getName() + "of realm " + realm.getName());
120  rep = ModelToRepresentation.toRepresentationWithoutConfig(component);
121  }
122  reps.add(rep);
123  }
124  return reps;
125  }
RealmModel realm
Definition: ComponentResource.java:73
AdminPermissionEvaluator auth
Definition: ComponentResource.java:75
KeycloakSession session
Definition: ComponentResource.java:83
static final Logger logger
Definition: ComponentResource.java:71

◆ getSubcomponentConfig()

List<ComponentTypeRepresentation> org.keycloak.services.resources.admin.ComponentResource.getSubcomponentConfig ( @PathParam("id") String  parentId,
@QueryParam("type") String  subtype 
)
inline

List of subcomponent types that are available to configure for a particular parent component.

引数
parentId
subtype
戻り値
222  {
224  ComponentModel parent = realm.getComponent(parentId);
225  if (parent == null) {
226  throw new NotFoundException("Could not find parent component");
227  }
228  if (subtype == null) {
229  throw new BadRequestException("must specify a subtype");
230  }
231  Class<? extends Provider> providerClass = null;
232  try {
233  providerClass = (Class<? extends Provider>)Class.forName(subtype);
234  } catch (ClassNotFoundException e) {
235  throw new RuntimeException(e);
236  }
237  List<ComponentTypeRepresentation> subcomponents = new LinkedList<>();
238  for (ProviderFactory factory : session.getKeycloakSessionFactory().getProviderFactories(providerClass)) {
239  ComponentTypeRepresentation rep = new ComponentTypeRepresentation();
240  rep.setId(factory.getId());
241  if (!(factory instanceof ComponentFactory)) {
242  continue;
243  }
244  ComponentFactory componentFactory = (ComponentFactory)factory;
245 
246  rep.setHelpText(componentFactory.getHelpText());
247  List<ProviderConfigProperty> props = null;
248  Map<String, Object> metadata = null;
249  if (factory instanceof SubComponentFactory) {
250  props = ((SubComponentFactory)factory).getConfigProperties(realm, parent);
251  metadata = ((SubComponentFactory)factory).getTypeMetadata(realm, parent);
252 
253  } else {
254  props = componentFactory.getConfigProperties();
255  metadata = componentFactory.getTypeMetadata();
256  }
257 
258  List<ConfigPropertyRepresentation> propReps = ModelToRepresentation.toRepresentation(props);
259  rep.setProperties(propReps);
260  rep.setMetadata(metadata);
261  subcomponents.add(rep);
262  }
263  return subcomponents;
264  }
RealmModel realm
Definition: ComponentResource.java:73
AdminPermissionEvaluator auth
Definition: ComponentResource.java:75
KeycloakSession session
Definition: ComponentResource.java:83

◆ localizedErrorResponse()

Response org.keycloak.services.resources.admin.ComponentResource.localizedErrorResponse ( ComponentValidationException  cve)
inlineprivate
193  {
194  Properties messages = AdminRoot.getMessages(session, realm, auth.adminAuth().getToken().getLocale(), "admin-messages", "messages");
195 
196  Object[] localizedParameters = cve.getParameters()==null ? null : Arrays.asList(cve.getParameters()).stream().map((Object parameter) -> {
197 
198  if (parameter instanceof String) {
199  String paramStr = (String) parameter;
200  return messages.getProperty(paramStr, paramStr);
201  } else {
202  return parameter;
203  }
204 
205  }).toArray();
206 
207  String message = MessageFormat.format(messages.getProperty(cve.getMessage(), cve.getMessage()), localizedParameters);
208  return ErrorResponse.error(message, Response.Status.BAD_REQUEST);
209  }
AccessToken getToken()
Definition: AdminAuth.java:56
RealmModel realm
Definition: ComponentResource.java:73
AdminPermissionEvaluator auth
Definition: ComponentResource.java:75
KeycloakSession session
Definition: ComponentResource.java:83

◆ removeComponent()

void org.keycloak.services.resources.admin.ComponentResource.removeComponent ( @PathParam("id") String  id)
inline
182  {
184  ComponentModel model = realm.getComponent(id);
185  if (model == null) {
186  throw new NotFoundException("Could not find component");
187  }
188  adminEvent.operation(OperationType.DELETE).resourcePath(session.getContext().getUri()).success();
189  realm.removeComponent(model);
190 
191  }
RealmModel realm
Definition: ComponentResource.java:73
AdminPermissionEvaluator auth
Definition: ComponentResource.java:75
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ComponentResource.java:83
AdminEventBuilder adminEvent
Definition: ComponentResource.java:77

◆ updateComponent()

Response org.keycloak.services.resources.admin.ComponentResource.updateComponent ( @PathParam("id") String  id,
ComponentRepresentation  rep 
)
inline
163  {
165  try {
166  ComponentModel model = realm.getComponent(id);
167  if (model == null) {
168  throw new NotFoundException("Could not find component");
169  }
170  RepresentationToModel.updateComponent(session, rep, model, false);
171  adminEvent.operation(OperationType.UPDATE).resourcePath(session.getContext().getUri()).representation(StripSecretsUtils.strip(session, rep)).success();
172  realm.updateComponent(model);
173  return Response.noContent().build();
174  } catch (ComponentValidationException e) {
175  return localizedErrorResponse(e);
176  } catch (IllegalArgumentException e) {
177  throw new BadRequestException();
178  }
179  }
RealmModel realm
Definition: ComponentResource.java:73
AdminPermissionEvaluator auth
Definition: ComponentResource.java:75
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
Response localizedErrorResponse(ComponentValidationException cve)
Definition: ComponentResource.java:193
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
KeycloakSession session
Definition: ComponentResource.java:83
AdminEventBuilder adminEvent
Definition: ComponentResource.java:77

メンバ詳解

◆ adminEvent

AdminEventBuilder org.keycloak.services.resources.admin.ComponentResource.adminEvent
private

◆ auth

AdminPermissionEvaluator org.keycloak.services.resources.admin.ComponentResource.auth
private

◆ clientConnection

ClientConnection org.keycloak.services.resources.admin.ComponentResource.clientConnection
protected

◆ headers

HttpHeaders org.keycloak.services.resources.admin.ComponentResource.headers
protected

◆ logger

final Logger org.keycloak.services.resources.admin.ComponentResource.logger = Logger.getLogger(ComponentResource.class)
staticprotected

◆ realm

RealmModel org.keycloak.services.resources.admin.ComponentResource.realm
protected

◆ session

KeycloakSession org.keycloak.services.resources.admin.ComponentResource.session
protected

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