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

公開メンバ関数

 PolicyTypeService (String type, ResourceServer resourceServer, AuthorizationProvider authorization, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent)
 
Object getPolicyAdminResourceProvider ()
 
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 ()
 

限定公開メンバ関数

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

限定公開変数類

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

非公開変数類

final String type
 

詳解

著者
Pedro Igor

構築子と解体子

◆ PolicyTypeService()

org.keycloak.authorization.admin.PolicyTypeService.PolicyTypeService ( String  type,
ResourceServer  resourceServer,
AuthorizationProvider  authorization,
AdminPermissionEvaluator  auth,
AdminEventBuilder  adminEvent 
)
inline
44  {
46  this.type = type;
47  }
final AuthorizationProvider authorization
Definition: PolicyService.java:78
final AdminPermissionEvaluator auth
Definition: PolicyService.java:79
final ResourceServer resourceServer
Definition: PolicyService.java:77
final String type
Definition: PolicyTypeService.java:42
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()

Object org.keycloak.authorization.admin.PolicyTypeService.doCreatePolicyResource ( Policy  policy)
inlineprotected
63  {
64  return new PolicyTypeResourceService(policy, resourceServer,authorization, auth, adminEvent);
65  }
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.PolicyService.doCreatePolicyTypeResource ( String  type)
inlineprotectedinherited
102  {
103  return new PolicyTypeService(type, resourceServer, authorization, auth, adminEvent);
104  }
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.PolicyTypeService.doCreateRepresentation ( String  payload)
inlineprotected
68  {
69  PolicyProviderFactory provider = getPolicyProviderFactory(type);
70  Class<? extends AbstractPolicyRepresentation> representationType = provider.getRepresentationType();
71 
72  if (representationType == null) {
73  throw new RuntimeException("Policy provider for type [" + type + "] returned a null representation type.");
74  }
75 
76  AbstractPolicyRepresentation representation;
77 
78  try {
79  representation = JsonSerialization.readValue(payload, representationType);
80  } catch (IOException e) {
81  throw new RuntimeException("Failed to deserialize JSON using policy provider for type [" + type + "].", e);
82  }
83 
84  representation.setType(type);
85 
86  return representation;
87  }
PolicyProviderFactory getPolicyProviderFactory(String policyType)
Definition: PolicyService.java:320
final String type
Definition: PolicyTypeService.java:42

◆ doSearch()

List<Object> org.keycloak.authorization.admin.PolicyTypeService.doSearch ( Integer  firstResult,
Integer  maxResult,
Map< String, String[]>  filters 
)
inlineprotected
95  {
96  filters.put("type", new String[] {type});
97  return super.doSearch(firstResult, maxResult, filters);
98  }
final String type
Definition: PolicyTypeService.java:42

◆ 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

◆ getPolicyAdminResourceProvider()

Object org.keycloak.authorization.admin.PolicyTypeService.getPolicyAdminResourceProvider ( )
inline
50  {
51  PolicyProviderAdminService resource = getPolicyProviderAdminResource(type);
52 
53  if (resource == null) {
54  return null;
55  }
56 
57  ResteasyProviderFactory.getInstance().injectProperties(resource);
58 
59  return resource;
60  }
PolicyProviderAdminService getPolicyProviderAdminResource(String policyType)
Definition: PolicyService.java:316
final String type
Definition: PolicyTypeService.java:42

◆ 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.PolicyTypeService.toRepresentation ( Policy  policy,
AuthorizationProvider  authorization 
)
inlineprotected
90  {
91  return ModelToRepresentation.toRepresentation(policy, authorization, false, false);
92  }
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

◆ type

final String org.keycloak.authorization.admin.PolicyTypeService.type
private

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