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

公開メンバ関数

 PermissionService (ResourceServer resourceServer, AuthorizationProvider authorization, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent)
 
Object getResource (@PathParam("type") String type)
 
Response create (String payload)
 
Policy create (AbstractPolicyRepresentation representation)
 
Response findByName (@QueryParam("name") String name)
 
Response findAll (@QueryParam("policyId") String id, @QueryParam("name") String name, @QueryParam("type") String type, @QueryParam("resource") String resource, @QueryParam("scope") String scope, @QueryParam("permission") Boolean permission, @QueryParam("owner") String owner, @QueryParam("first") Integer firstResult, @QueryParam("max") Integer maxResult)
 
Response findPolicyProviders ()
 
PolicyEvaluationService getPolicyEvaluateResource ()
 

限定公開メンバ関数

PolicyResourceService doCreatePolicyResource (Policy policy)
 
PolicyTypeService doCreatePolicyTypeResource (String type)
 
List< Object > doSearch (Integer firstResult, Integer maxResult, Map< String, String[]> filters)
 
AbstractPolicyRepresentation toRepresentation (Policy policy, AuthorizationProvider authorization)
 
AbstractPolicyRepresentation doCreateRepresentation (String payload)
 
PolicyProviderAdminService getPolicyProviderAdminResource (String policyType)
 
PolicyProviderFactory getPolicyProviderFactory (String policyType)
 

限定公開変数類

final ResourceServer resourceServer
 
final AuthorizationProvider authorization
 
final AdminPermissionEvaluator auth
 
final AdminEventBuilder adminEvent
 

詳解

著者
Pedro Igor

構築子と解体子

◆ PermissionService()

org.keycloak.authorization.admin.PermissionService.PermissionService ( ResourceServer  resourceServer,
AuthorizationProvider  authorization,
AdminPermissionEvaluator  auth,
AdminEventBuilder  adminEvent 
)
inline
35  {
37  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79
final ResourceServer resourceServer
Definition: PolicyService.java:77
final AdminEventBuilder adminEvent
Definition: PolicyService.java:80

関数詳解

◆ create() [1/2]

Response org.keycloak.authorization.admin.PolicyService.create ( String  payload)
inlineinherited
114  {
115  if (auth != null) {
117  }
118 
119  AbstractPolicyRepresentation representation = doCreateRepresentation(payload);
120  Policy policy = create(representation);
121 
122  representation.setId(policy.getId());
123 
124  audit(representation, representation.getId(), OperationType.CREATE);
125 
126  return Response.status(Status.CREATED).entity(representation).build();
127  }
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79
Response create(String payload)
Definition: PolicyService.java:114
void audit(AbstractPolicyRepresentation resource, String id, OperationType operation)
Definition: PolicyService.java:331
AbstractPolicyRepresentation doCreateRepresentation(String payload)
Definition: PolicyService.java:129

◆ create() [2/2]

Policy org.keycloak.authorization.admin.PolicyService.create ( AbstractPolicyRepresentation  representation)
inlineinherited
141  {
142  PolicyStore policyStore = authorization.getStoreFactory().getPolicyStore();
143  Policy existing = policyStore.findByName(representation.getName(), resourceServer.getId());
144 
145  if (existing != null) {
146  throw new ErrorResponseException("Policy with name [" + representation.getName() + "] already exists", "Conflicting policy", Status.CONFLICT);
147  }
148 
149  return policyStore.create(representation, resourceServer);
150  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final ResourceServer resourceServer
Definition: PolicyService.java:77

◆ doCreatePolicyResource()

PolicyResourceService org.keycloak.authorization.admin.PermissionService.doCreatePolicyResource ( Policy  policy)
inlineprotected
40  {
41  return new PolicyTypeResourceService(policy, resourceServer, authorization, auth, adminEvent);
42  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79
final ResourceServer resourceServer
Definition: PolicyService.java:77
final AdminEventBuilder adminEvent
Definition: PolicyService.java:80

◆ doCreatePolicyTypeResource()

PolicyTypeService org.keycloak.authorization.admin.PermissionService.doCreatePolicyTypeResource ( String  type)
inlineprotected
45  {
46  return new PolicyTypeService(type, resourceServer, authorization, auth, adminEvent) {
47  @Override
48  protected List<Object> doSearch(Integer firstResult, Integer maxResult, Map<String, String[]> filters) {
49  filters.put("permission", new String[] {Boolean.TRUE.toString()});
50  filters.put("type", new String[] {type});
51  return super.doSearch(firstResult, maxResult, filters);
52  }
53  };
54  }
List< Object > doSearch(Integer firstResult, Integer maxResult, Map< String, String[]> filters)
Definition: PermissionService.java:57
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79
final ResourceServer resourceServer
Definition: PolicyService.java:77
final AdminEventBuilder adminEvent
Definition: PolicyService.java:80

◆ doCreateRepresentation()

AbstractPolicyRepresentation org.keycloak.authorization.admin.PolicyService.doCreateRepresentation ( String  payload)
inlineprotectedinherited
129  {
130  PolicyRepresentation representation;
131 
132  try {
133  representation = JsonSerialization.readValue(payload, PolicyRepresentation.class);
134  } catch (IOException cause) {
135  throw new RuntimeException("Failed to deserialize representation", cause);
136  }
137 
138  return representation;
139  }

◆ doSearch()

List<Object> org.keycloak.authorization.admin.PermissionService.doSearch ( Integer  firstResult,
Integer  maxResult,
Map< String, String[]>  filters 
)
inlineprotected
57  {
58  filters.put("permission", new String[] {Boolean.TRUE.toString()});
59  return super.doSearch(firstResult, maxResult, filters);
60  }

◆ findAll()

Response org.keycloak.authorization.admin.PolicyService.findAll ( @QueryParam("policyId") String  id,
@QueryParam("name") String  name,
@QueryParam("type") String  type,
@QueryParam("resource") String  resource,
@QueryParam("scope") String  scope,
@QueryParam("permission") Boolean  permission,
@QueryParam("owner") String  owner,
@QueryParam("first") Integer  firstResult,
@QueryParam("max") Integer  maxResult 
)
inlineinherited
187  {
188  if (auth != null) {
190  }
191 
192  Map<String, String[]> search = new HashMap<>();
193 
194  if (id != null && !"".equals(id.trim())) {
195  search.put("id", new String[] {id});
196  }
197 
198  if (name != null && !"".equals(name.trim())) {
199  search.put("name", new String[] {name});
200  }
201 
202  if (type != null && !"".equals(type.trim())) {
203  search.put("type", new String[] {type});
204  }
205 
206  if (owner != null && !"".equals(owner.trim())) {
207  search.put("owner", new String[] {owner});
208  }
209 
210  StoreFactory storeFactory = authorization.getStoreFactory();
211 
212  if (resource != null && !"".equals(resource.trim())) {
213  ResourceStore resourceStore = storeFactory.getResourceStore();
214  Resource resourceModel = resourceStore.findById(resource, resourceServer.getId());
215 
216  if (resourceModel == null) {
217  Map<String, String[]> resourceFilters = new HashMap<>();
218 
219  resourceFilters.put("name", new String[]{resource});
220 
221  if (owner != null) {
222  resourceFilters.put("owner", new String[]{owner});
223  }
224 
225  Set<String> resources = resourceStore.findByResourceServer(resourceFilters, resourceServer.getId(), -1, 1).stream().map(Resource::getId).collect(Collectors.toSet());
226 
227  if (resources.isEmpty()) {
228  return Response.ok().build();
229  }
230 
231  search.put("resource", resources.toArray(new String[resources.size()]));
232  } else {
233  search.put("resource", new String[] {resourceModel.getId()});
234  }
235  }
236 
237  if (scope != null && !"".equals(scope.trim())) {
238  ScopeStore scopeStore = storeFactory.getScopeStore();
239  Scope scopeModel = scopeStore.findById(scope, resourceServer.getId());
240 
241  if (scopeModel == null) {
242  Map<String, String[]> scopeFilters = new HashMap<>();
243 
244  scopeFilters.put("name", new String[]{scope});
245 
246  Set<String> scopes = scopeStore.findByResourceServer(scopeFilters, resourceServer.getId(), -1, 1).stream().map(Scope::getId).collect(Collectors.toSet());
247 
248  if (scopes.isEmpty()) {
249  return Response.ok().build();
250  }
251 
252  search.put("scope", scopes.toArray(new String[scopes.size()]));
253  } else {
254  search.put("scope", new String[] {scopeModel.getId()});
255  }
256  }
257 
258  if (permission != null) {
259  search.put("permission", new String[] {permission.toString()});
260  }
261 
262  return Response.ok(
263  doSearch(firstResult, maxResult, search))
264  .build();
265  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79
final ResourceServer resourceServer
Definition: PolicyService.java:77
List< Object > doSearch(Integer firstResult, Integer maxResult, Map< String, String[]> filters)
Definition: PolicyService.java:271

◆ findByName()

Response org.keycloak.authorization.admin.PolicyService.findByName ( @QueryParam("name") String  name)
inlineinherited
156  {
157  if (auth != null) {
159  }
160 
161  StoreFactory storeFactory = authorization.getStoreFactory();
162 
163  if (name == null) {
164  return Response.status(Status.BAD_REQUEST).build();
165  }
166 
167  Policy model = storeFactory.getPolicyStore().findByName(name, this.resourceServer.getId());
168 
169  if (model == null) {
170  return Response.status(Status.OK).build();
171  }
172 
173  return Response.ok(toRepresentation(model, authorization)).build();
174  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79
final ResourceServer resourceServer
Definition: PolicyService.java:77
AbstractPolicyRepresentation toRepresentation(Policy model, AuthorizationProvider authorization)
Definition: PolicyService.java:267

◆ findPolicyProviders()

Response org.keycloak.authorization.admin.PolicyService.findPolicyProviders ( )
inlineinherited
282  {
283  if (auth != null) {
285  }
286 
287  return Response.ok(
288  authorization.getProviderFactories().stream()
289  .filter(factory -> !factory.isInternal())
290  .map(factory -> {
291  PolicyProviderRepresentation representation = new PolicyProviderRepresentation();
292 
293  representation.setName(factory.getName());
294  representation.setGroup(factory.getGroup());
295  representation.setType(factory.getId());
296 
297  return representation;
298  })
299  .collect(Collectors.toList()))
300  .build();
301  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79

◆ getPolicyEvaluateResource()

PolicyEvaluationService org.keycloak.authorization.admin.PolicyService.getPolicyEvaluateResource ( )
inlineinherited
304  {
305  if (auth != null) {
307  }
308 
309  PolicyEvaluationService resource = new PolicyEvaluationService(this.resourceServer, this.authorization, this.auth);
310 
311  ResteasyProviderFactory.getInstance().injectProperties(resource);
312 
313  return resource;
314  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79
final ResourceServer resourceServer
Definition: PolicyService.java:77

◆ getPolicyProviderAdminResource()

PolicyProviderAdminService org.keycloak.authorization.admin.PolicyService.getPolicyProviderAdminResource ( String  policyType)
inlineprotectedinherited
316  {
317  return getPolicyProviderFactory(policyType).getAdminResource(resourceServer, authorization);
318  }
PolicyProviderFactory getPolicyProviderFactory(String policyType)
Definition: PolicyService.java:320
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final ResourceServer resourceServer
Definition: PolicyService.java:77

◆ getPolicyProviderFactory()

PolicyProviderFactory org.keycloak.authorization.admin.PolicyService.getPolicyProviderFactory ( String  policyType)
inlineprotectedinherited
320  {
321  return authorization.getProviderFactory(policyType);
322  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78

◆ getResource()

Object org.keycloak.authorization.admin.PolicyService.getResource ( @PathParam("type") String  type)
inlineinherited
90  {
91  PolicyProviderFactory providerFactory = getPolicyProviderFactory(type);
92 
93  if (providerFactory != null) {
94  return doCreatePolicyTypeResource(type);
95  }
96 
97  Policy policy = authorization.getStoreFactory().getPolicyStore().findById(type, resourceServer.getId());
98 
99  return doCreatePolicyResource(policy);
100  }
PolicyProviderFactory getPolicyProviderFactory(String policyType)
Definition: PolicyService.java:320
final AuthorizationProvider authorization
Definition: PolicyService.java:78
Object doCreatePolicyResource(Policy policy)
Definition: PolicyService.java:106
final ResourceServer resourceServer
Definition: PolicyService.java:77
PolicyTypeService doCreatePolicyTypeResource(String type)
Definition: PolicyService.java:102

◆ toRepresentation()

AbstractPolicyRepresentation org.keycloak.authorization.admin.PermissionService.toRepresentation ( Policy  policy,
AuthorizationProvider  authorization 
)
inlineprotected
63  {
64  return ModelToRepresentation.toRepresentation(policy, authorization, false, false);
65  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78

メンバ詳解

◆ adminEvent

final AdminEventBuilder org.keycloak.authorization.admin.PolicyService.adminEvent
protectedinherited

◆ auth

final AdminPermissionEvaluator org.keycloak.authorization.admin.PolicyService.auth
protectedinherited

◆ authorization

final AuthorizationProvider org.keycloak.authorization.admin.PolicyService.authorization
protectedinherited

◆ resourceServer

final ResourceServer org.keycloak.authorization.admin.PolicyService.resourceServer
protectedinherited

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