keycloak
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.authorization.client.resource.PermissionResource クラス
org.keycloak.authorization.client.resource.PermissionResource 連携図
Collaboration graph

公開メンバ関数

 PermissionResource (Http http, ServerConfiguration serverConfiguration, TokenCallable pat)
 
PermissionResponse forResource (PermissionRequest request)
 
PermissionResponse create (PermissionRequest request)
 
PermissionResponse create (final List< PermissionRequest > requests)
 
PermissionTicketRepresentation create (final PermissionTicketRepresentation ticket)
 
List< PermissionTicketRepresentationfindByScope (final String scopeId)
 
List< PermissionTicketRepresentationfindByResource (final String resourceId)
 
List< PermissionTicketRepresentationfind (final String resourceId, final String scopeId, final String owner, final String requester, final Boolean granted, final Boolean returnNames, final Integer firstResult, final Integer maxResult)
 
void update (final PermissionTicketRepresentation ticket)
 

非公開変数類

final Http http
 
final ServerConfiguration serverConfiguration
 
final TokenCallable pat
 

詳解

An entry point for managing permission tickets using the Protection API.

著者
Pedro Igor

構築子と解体子

◆ PermissionResource()

org.keycloak.authorization.client.resource.PermissionResource.PermissionResource ( Http  http,
ServerConfiguration  serverConfiguration,
TokenCallable  pat 
)
inline
45  {
46  this.http = http;
48  this.pat = pat;
49  }
final ServerConfiguration serverConfiguration
Definition: PermissionResource.java:42
final Http http
Definition: PermissionResource.java:41
final TokenCallable pat
Definition: PermissionResource.java:43

関数詳解

◆ create() [1/3]

PermissionResponse org.keycloak.authorization.client.resource.PermissionResource.create ( PermissionRequest  request)
inline

Creates a new permission ticket for a single resource and scope(s).

引数
requestthe PermissionRequest representing the resource and scope(s) (not
null
)
戻り値
a permission response holding a permission ticket with the requested permissions
67  {
68  return create(Arrays.asList(request));
69  }
PermissionResponse create(PermissionRequest request)
Definition: PermissionResource.java:67

◆ create() [2/3]

PermissionResponse org.keycloak.authorization.client.resource.PermissionResource.create ( final List< PermissionRequest requests)
inline

Creates a new permission ticket for a set of one or more resource and scope(s).

引数
requestthe PermissionRequest representing the resource and scope(s) (not
null
)
戻り値
a permission response holding a permission ticket with the requested permissions
77  {
78  if (requests == null || requests.isEmpty()) {
79  throw new IllegalArgumentException("Permission request must not be null or empty");
80  }
81  Callable<PermissionResponse> callable = new Callable<PermissionResponse>() {
82  @Override
83  public PermissionResponse call() throws Exception {
84  return http.<PermissionResponse>post(serverConfiguration.getPermissionEndpoint())
85  .authorizationBearer(pat.call())
86  .json(JsonSerialization.writeValueAsBytes(requests))
87  .response().json(PermissionResponse.class).execute();
88  }
89  };
90  try {
91  return callable.call();
92  } catch (Exception cause) {
93  return Throwables.retryAndWrapExceptionIfNecessary(callable, pat, "Error creating permission ticket", cause);
94  }
95  }
final ServerConfiguration serverConfiguration
Definition: PermissionResource.java:42
final Http http
Definition: PermissionResource.java:41
String call()
Definition: TokenCallable.java:54
final TokenCallable pat
Definition: PermissionResource.java:43
String getPermissionEndpoint()
Definition: ServerConfiguration.java:209

◆ create() [3/3]

PermissionTicketRepresentation org.keycloak.authorization.client.resource.PermissionResource.create ( final PermissionTicketRepresentation  ticket)
inline

Creates a new uma permission for a single resource and scope(s).

引数
ticketthe PermissionTicketRepresentation representing the resource and scope(s) (not
null
)
戻り値
a permission response holding the permission ticket representation
103  {
104  if (ticket == null) {
105  throw new IllegalArgumentException("Permission ticket must not be null or empty");
106  }
107  if (ticket.getRequester() == null || ticket.getRequesterName() == null) {
108  throw new IllegalArgumentException("Permission ticket must have a requester");
109  }
110  if (ticket.getResource() == null || ticket.getResourceName() == null) {
111  throw new IllegalArgumentException("Permission ticket must have a resource");
112  }
113  if (ticket.getScope() == null || ticket.getScopeName() == null) {
114  throw new IllegalArgumentException("Permission ticket must have a scope");
115  }
116  Callable<PermissionTicketRepresentation> callable = new Callable<PermissionTicketRepresentation>() {
117  @Override
118  public PermissionTicketRepresentation call() throws Exception {
119  return http.<PermissionTicketRepresentation>post(serverConfiguration.getPermissionEndpoint()+"/ticket")
120  .json(JsonSerialization.writeValueAsBytes(ticket))
121  .authorizationBearer(pat.call())
122  .response().json(new TypeReference<PermissionTicketRepresentation>(){}).execute();
123  }
124  };
125  try {
126  return callable.call();
127  } catch (Exception cause) {
128  return Throwables.retryAndWrapExceptionIfNecessary(callable, pat, "Error updating permission ticket", cause);
129  }
130  }
final ServerConfiguration serverConfiguration
Definition: PermissionResource.java:42
final Http http
Definition: PermissionResource.java:41
String call()
Definition: TokenCallable.java:54
final TokenCallable pat
Definition: PermissionResource.java:43
String getPermissionEndpoint()
Definition: ServerConfiguration.java:209

◆ find()

List<PermissionTicketRepresentation> org.keycloak.authorization.client.resource.PermissionResource.find ( final String  resourceId,
final String  scopeId,
final String  owner,
final String  requester,
final Boolean  granted,
final Boolean  returnNames,
final Integer  firstResult,
final Integer  maxResult 
)
inline

Query the server for any permission ticket with the matching arguments.

引数
resourceIdthe resource id or name
scopeIdthe scope id or name
ownerthe owner id or name
requesterthe requester id or name
grantedif true, only permission tickets marked as granted are returned.
returnNamesif the response should include names for resource, scope and owner
firstResultthe position of the first resource to retrieve
maxResultthe maximum number of resources to retrieve
戻り値
a list of permission tickets with the matching arguments
204  {
205  Callable<List<PermissionTicketRepresentation>> callable = new Callable<List<PermissionTicketRepresentation>>() {
206  @Override
207  public List<PermissionTicketRepresentation> call() throws Exception {
208  return http.<List<PermissionTicketRepresentation>>get(serverConfiguration.getPermissionEndpoint()+"/ticket")
209  .authorizationBearer(pat.call())
210  .param("resourceId", resourceId)
211  .param("scopeId", scopeId)
212  .param("owner", owner)
213  .param("requester", requester)
214  .param("granted", granted == null ? null : granted.toString())
215  .param("returnNames", returnNames == null ? null : returnNames.toString())
216  .param("firstResult", firstResult == null ? null : firstResult.toString())
217  .param("maxResult", maxResult == null ? null : maxResult.toString())
218  .response().json(new TypeReference<List<PermissionTicketRepresentation>>(){}).execute();
219  }
220  };
221  try {
222  return callable.call();
223  } catch (Exception cause) {
224  return Throwables.retryAndWrapExceptionIfNecessary(callable, pat, "Error querying permission ticket", cause);
225  }
226  }
final ServerConfiguration serverConfiguration
Definition: PermissionResource.java:42
final Http http
Definition: PermissionResource.java:41
String call()
Definition: TokenCallable.java:54
final TokenCallable pat
Definition: PermissionResource.java:43
String getPermissionEndpoint()
Definition: ServerConfiguration.java:209

◆ findByResource()

List<PermissionTicketRepresentation> org.keycloak.authorization.client.resource.PermissionResource.findByResource ( final String  resourceId)
inline

Query the server for any permission ticket associated with the given resourceId.

引数
resourceIdthe resource id (not
null
)
戻り値
a list of permission tickets associated with the given resourceId
164  {
165  if (resourceId == null) {
166  throw new IllegalArgumentException("Resource id must not be null");
167  }
168  Callable<List<PermissionTicketRepresentation>> callable = new Callable<List<PermissionTicketRepresentation>>() {
169  @Override
170  public List<PermissionTicketRepresentation> call() throws Exception {
171  return http.<List<PermissionTicketRepresentation>>get(serverConfiguration.getPermissionEndpoint()+"/ticket")
172  .authorizationBearer(pat.call())
173  .param("resourceId", resourceId)
174  .response().json(new TypeReference<List<PermissionTicketRepresentation>>(){}).execute();
175  }
176  };
177  try {
178  return callable.call();
179  } catch (Exception cause) {
180  return Throwables.retryAndWrapExceptionIfNecessary(callable, pat, "Error querying permission ticket by resource", cause);
181  }
182  }
final ServerConfiguration serverConfiguration
Definition: PermissionResource.java:42
final Http http
Definition: PermissionResource.java:41
String call()
Definition: TokenCallable.java:54
final TokenCallable pat
Definition: PermissionResource.java:43
String getPermissionEndpoint()
Definition: ServerConfiguration.java:209

◆ findByScope()

List<PermissionTicketRepresentation> org.keycloak.authorization.client.resource.PermissionResource.findByScope ( final String  scopeId)
inline

Query the server for any permission ticket associated with the given scopeId.

引数
scopeIdthe scope id (not
null
)
戻り値
a list of permission tickets associated with the given scopeId
138  {
139  if (scopeId == null) {
140  throw new IllegalArgumentException("Scope id must not be null");
141  }
142  Callable<List<PermissionTicketRepresentation>> callable = new Callable<List<PermissionTicketRepresentation>>() {
143  @Override
144  public List<PermissionTicketRepresentation> call() throws Exception {
145  return http.<List<PermissionTicketRepresentation>>get(serverConfiguration.getPermissionEndpoint()+"/ticket")
146  .authorizationBearer(pat.call())
147  .param("scopeId", scopeId)
148  .response().json(new TypeReference<List<PermissionTicketRepresentation>>(){}).execute();
149  }
150  };
151  try {
152  return callable.call();
153  } catch (Exception cause) {
154  return Throwables.retryAndWrapExceptionIfNecessary(callable, pat, "Error querying permission ticket by scope", cause);
155  }
156  }
final ServerConfiguration serverConfiguration
Definition: PermissionResource.java:42
final Http http
Definition: PermissionResource.java:41
String call()
Definition: TokenCallable.java:54
final TokenCallable pat
Definition: PermissionResource.java:43
String getPermissionEndpoint()
Definition: ServerConfiguration.java:209

◆ forResource()

PermissionResponse org.keycloak.authorization.client.resource.PermissionResource.forResource ( PermissionRequest  request)
inline
非推奨:
use create(PermissionRequest)
引数
request
戻り値
57  {
58  return create(request);
59  }
PermissionResponse create(PermissionRequest request)
Definition: PermissionResource.java:67

◆ update()

void org.keycloak.authorization.client.resource.PermissionResource.update ( final PermissionTicketRepresentation  ticket)
inline

Updates a permission ticket.

引数
ticketthe permission ticket
233  {
234  if (ticket == null) {
235  throw new IllegalArgumentException("Permission ticket must not be null or empty");
236  }
237  if (ticket.getId() == null) {
238  throw new IllegalArgumentException("Permission ticket must have an id");
239  }
240  Callable callable = new Callable() {
241  @Override
242  public Object call() throws Exception {
243  http.<List>put(serverConfiguration.getPermissionEndpoint()+"/ticket")
244  .json(JsonSerialization.writeValueAsBytes(ticket))
245  .authorizationBearer(pat.call())
246  .response().json(List.class).execute();
247  return null;
248  }
249  };
250  try {
251  callable.call();
252  } catch (Exception cause) {
253  Throwables.retryAndWrapExceptionIfNecessary(callable, pat, "Error updating permission ticket", cause);
254  }
255  }
final ServerConfiguration serverConfiguration
Definition: PermissionResource.java:42
final Http http
Definition: PermissionResource.java:41
String call()
Definition: TokenCallable.java:54
final TokenCallable pat
Definition: PermissionResource.java:43
String getPermissionEndpoint()
Definition: ServerConfiguration.java:209

メンバ詳解

◆ http

final Http org.keycloak.authorization.client.resource.PermissionResource.http
private

◆ pat

final TokenCallable org.keycloak.authorization.client.resource.PermissionResource.pat
private

◆ serverConfiguration

final ServerConfiguration org.keycloak.authorization.client.resource.PermissionResource.serverConfiguration
private

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