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

公開メンバ関数

 GroupsResource (RealmModel realm, KeycloakSession session, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent)
 
List< GroupRepresentation > getGroups (@QueryParam("search") String search, @QueryParam("first") Integer firstResult, @QueryParam("max") Integer maxResults)
 
GroupResource getGroupById (@PathParam("id") String id)
 
Map< String, Long > getGroupCount (@QueryParam("search") String search, @QueryParam("top") @DefaultValue("false") boolean onlyTopGroups)
 
Response addTopLevelGroup (GroupRepresentation rep)
 

非公開変数類

final RealmModel realm
 
final KeycloakSession session
 
final AdminPermissionEvaluator auth
 
final AdminEventBuilder adminEvent
 

詳解

Groups

著者
Bill Burke

構築子と解体子

◆ GroupsResource()

org.keycloak.services.resources.admin.GroupsResource.GroupsResource ( RealmModel  realm,
KeycloakSession  session,
AdminPermissionEvaluator  auth,
AdminEventBuilder  adminEvent 
)
inline
59  {
60  this.realm = realm;
61  this.session = session;
62  this.auth = auth;
63  this.adminEvent = adminEvent.resource(ResourceType.GROUP);
64 
65  }
final RealmModel realm
Definition: GroupsResource.java:54
final AdminEventBuilder adminEvent
Definition: GroupsResource.java:57
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
final AdminPermissionEvaluator auth
Definition: GroupsResource.java:56
final KeycloakSession session
Definition: GroupsResource.java:55

関数詳解

◆ addTopLevelGroup()

Response org.keycloak.services.resources.admin.GroupsResource.addTopLevelGroup ( GroupRepresentation  rep)
inline

create or add a top level realm groupSet or create child. This will update the group and set the parent if it exists. Create it and set the parent if the group doesn't exist.

引数
rep
140  {
142 
143  List<GroupRepresentation> search = ModelToRepresentation.searchForGroupByName(realm, rep.getName(), 0, 1);
144  if (search != null && !search.isEmpty() && Objects.equals(search.get(0).getName(), rep.getName())) {
145  return ErrorResponse.exists("Top level group named '" + rep.getName() + "' already exists.");
146  }
147 
148  GroupModel child;
149  Response.ResponseBuilder builder = Response.status(204);
150  if (rep.getId() != null) {
151  child = realm.getGroupById(rep.getId());
152  if (child == null) {
153  throw new NotFoundException("Could not find child by id");
154  }
155  adminEvent.operation(OperationType.UPDATE).resourcePath(session.getContext().getUri());
156  } else {
157  child = realm.createGroup(rep.getName());
158  GroupResource.updateGroup(rep, child);
159  URI uri = session.getContext().getUri().getAbsolutePathBuilder()
160  .path(child.getId()).build();
161  builder.status(201).location(uri);
162 
163  rep.setId(child.getId());
164  adminEvent.operation(OperationType.CREATE).resourcePath(session.getContext().getUri(), child.getId());
165  }
166  realm.moveGroup(child, null);
167 
169  return builder.build();
170  }
final RealmModel realm
Definition: GroupsResource.java:54
final AdminEventBuilder adminEvent
Definition: GroupsResource.java:57
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
void success()
Definition: AdminEventBuilder.java:226
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
final AdminPermissionEvaluator auth
Definition: GroupsResource.java:56
final KeycloakSession session
Definition: GroupsResource.java:55
AdminEventBuilder representation(Object value)
Definition: AdminEventBuilder.java:210

◆ getGroupById()

GroupResource org.keycloak.services.resources.admin.GroupsResource.getGroupById ( @PathParam("id") String  id)
inline

Does not expand hierarchy. Subgroups will not be set.

引数
id
戻り値
100  {
101  GroupModel group = realm.getGroupById(id);
102  if (group == null) {
103  throw new NotFoundException("Could not find group by id");
104  }
105  GroupResource resource = new GroupResource(realm, group, session, this.auth, adminEvent);
106  ResteasyProviderFactory.getInstance().injectProperties(resource);
107  return resource;
108  }
final RealmModel realm
Definition: GroupsResource.java:54
final AdminEventBuilder adminEvent
Definition: GroupsResource.java:57
final AdminPermissionEvaluator auth
Definition: GroupsResource.java:56
final KeycloakSession session
Definition: GroupsResource.java:55

◆ getGroupCount()

Map<String, Long> org.keycloak.services.resources.admin.GroupsResource.getGroupCount ( @QueryParam("search") String  search,
@QueryParam("top") @DefaultValue("false") boolean  onlyTopGroups 
)
inline

Returns the groups counts.

戻り値
120  {
121  Long results;
122  Map<String, Long> map = new HashMap<>();
123  if (Objects.nonNull(search)) {
124  results = realm.getGroupsCountByNameContaining(search);
125  } else {
126  results = realm.getGroupsCount(onlyTopGroups);
127  }
128  map.put("count", results);
129  return map;
130  }
final RealmModel realm
Definition: GroupsResource.java:54

◆ getGroups()

List<GroupRepresentation> org.keycloak.services.resources.admin.GroupsResource.getGroups ( @QueryParam("search") String  search,
@QueryParam("first") Integer  firstResult,
@QueryParam("max") Integer  maxResults 
)
inline

Get group hierarchy. Only name and ids are returned.

戻り値
77  {
79 
80  List<GroupRepresentation> results;
81 
82  if (Objects.nonNull(search)) {
83  results = ModelToRepresentation.searchForGroupByName(realm, search.trim(), firstResult, maxResults);
84  } else if(Objects.nonNull(firstResult) && Objects.nonNull(maxResults)) {
85  results = ModelToRepresentation.toGroupHierarchy(realm, false, firstResult, maxResults);
86  } else {
87  results = ModelToRepresentation.toGroupHierarchy(realm, false);
88  }
89 
90  return results;
91  }
final RealmModel realm
Definition: GroupsResource.java:54
final AdminPermissionEvaluator auth
Definition: GroupsResource.java:56

メンバ詳解

◆ adminEvent

final AdminEventBuilder org.keycloak.services.resources.admin.GroupsResource.adminEvent
private

◆ auth

final AdminPermissionEvaluator org.keycloak.services.resources.admin.GroupsResource.auth
private

◆ realm

final RealmModel org.keycloak.services.resources.admin.GroupsResource.realm
private

◆ session

final KeycloakSession org.keycloak.services.resources.admin.GroupsResource.session
private

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