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

公開メンバ関数

 RoleByIdResource (RealmModel realm, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent)
 
RoleRepresentation getRole (final @PathParam("role-id") String id)
 
void deleteRole (final @PathParam("role-id") String id)
 
void updateRole (final @PathParam("role-id") String id, final RoleRepresentation rep)
 
void addComposites (final @PathParam("role-id") String id, List< RoleRepresentation > roles)
 
Set< RoleRepresentation > getRoleComposites (final @PathParam("role-id") String id)
 
Set< RoleRepresentation > getRealmRoleComposites (final @PathParam("role-id") String id)
 
Set< RoleRepresentation > getClientRoleComposites (final @PathParam("role-id") String id, final @PathParam("client") String client)
 
void deleteComposites (final @PathParam("role-id") String id, List< RoleRepresentation > roles)
 
ManagementPermissionReference getManagementPermissions (final @PathParam("role-id") String id)
 
ManagementPermissionReference setManagementPermissionsEnabled (final @PathParam("role-id") String id, ManagementPermissionReference ref)
 

静的公開メンバ関数

static ManagementPermissionReference toMgmtRef (RoleModel role, AdminPermissionManagement permissions)
 

限定公開メンバ関数

RoleModel getRoleModel (String id)
 
RoleRepresentation getRole (RoleModel roleModel)
 
void deleteRole (RoleModel role)
 
void updateRole (RoleRepresentation rep, RoleModel role)
 
void addComposites (AdminPermissionEvaluator auth, AdminEventBuilder adminEvent, UriInfo uriInfo, List< RoleRepresentation > roles, RoleModel role)
 
Set< RoleRepresentation > getRoleComposites (RoleModel role)
 
Set< RoleRepresentation > getRealmRoleComposites (RoleModel role)
 
Set< RoleRepresentation > getClientRoleComposites (ClientModel app, RoleModel role)
 
void deleteComposites (AdminEventBuilder adminEvent, UriInfo uriInfo, List< RoleRepresentation > roles, RoleModel role)
 

静的限定公開変数類

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

非公開変数類

final RealmModel realm
 
AdminPermissionEvaluator auth
 
AdminEventBuilder adminEvent
 
KeycloakSession session
 

詳解

Sometimes its easier to just interact with roles by their ID instead of container/role-name

Roles (by ID)

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ RoleByIdResource()

org.keycloak.services.resources.admin.RoleByIdResource.RoleByIdResource ( RealmModel  realm,
AdminPermissionEvaluator  auth,
AdminEventBuilder  adminEvent 
)
inline
63  {
64  super(realm);
65 
66  this.realm = realm;
67  this.auth = auth;
68  this.adminEvent = adminEvent;
69  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
final RealmModel realm
Definition: RoleByIdResource.java:56
AdminEventBuilder adminEvent
Definition: RoleByIdResource.java:58

関数詳解

◆ addComposites() [1/2]

void org.keycloak.services.resources.admin.RoleResource.addComposites ( AdminPermissionEvaluator  auth,
AdminEventBuilder  adminEvent,
UriInfo  uriInfo,
List< RoleRepresentation >  roles,
RoleModel  role 
)
inlineprotectedinherited
63  {
64  for (RoleRepresentation rep : roles) {
65  RoleModel composite = realm.getRoleById(rep.getId());
66  if (composite == null) {
67  throw new NotFoundException("Could not find composite role");
68  }
69  auth.roles().requireMapComposite(composite);
70  role.addCompositeRole(composite);
71  }
72 
73  if (role.isClientRole()) {
74  adminEvent.resource(ResourceType.CLIENT_ROLE);
75  } else {
76  adminEvent.resource(ResourceType.REALM_ROLE);
77  }
78 
79  adminEvent.operation(OperationType.CREATE).resourcePath(uriInfo).representation(roles).success();
80  }
RealmModel realm
Definition: RoleResource.java:42

◆ addComposites() [2/2]

void org.keycloak.services.resources.admin.RoleByIdResource.addComposites ( final @PathParam("role-id") String  id,
List< RoleRepresentation >  roles 
)
inline

Make the role a composite role by associating some child roles

引数
id
roles
150  {
151  RoleModel role = getRoleModel(id);
152  auth.roles().requireManage(role);
153  addComposites(auth, adminEvent, session.getContext().getUri(), roles, role);
154  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
void addComposites(final @PathParam("role-id") String id, List< RoleRepresentation > roles)
Definition: RoleByIdResource.java:150
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88
AdminEventBuilder adminEvent
Definition: RoleByIdResource.java:58
KeycloakSession session
Definition: RoleByIdResource.java:61

◆ deleteComposites() [1/2]

void org.keycloak.services.resources.admin.RoleResource.deleteComposites ( AdminEventBuilder  adminEvent,
UriInfo  uriInfo,
List< RoleRepresentation >  roles,
RoleModel  role 
)
inlineprotectedinherited
114  {
115  for (RoleRepresentation rep : roles) {
116  RoleModel composite = realm.getRoleById(rep.getId());
117  if (composite == null) {
118  throw new NotFoundException("Could not find composite role");
119  }
120  role.removeCompositeRole(composite);
121  }
122 
123  if (role.isClientRole()) {
124  adminEvent.resource(ResourceType.CLIENT_ROLE);
125  } else {
126  adminEvent.resource(ResourceType.REALM_ROLE);
127  }
128 
129  adminEvent.operation(OperationType.DELETE).resourcePath(uriInfo).representation(roles).success();
130  }
RealmModel realm
Definition: RoleResource.java:42

◆ deleteComposites() [2/2]

void org.keycloak.services.resources.admin.RoleByIdResource.deleteComposites ( final @PathParam("role-id") String  id,
List< RoleRepresentation >  roles 
)
inline

Remove a set of roles from the role's composite

引数
idRole id
rolesA set of roles to be removed
225  {
226  RoleModel role = getRoleModel(id);
227  auth.roles().requireManage(role);
228  deleteComposites(adminEvent, session.getContext().getUri(), roles, role);
229  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
void deleteComposites(final @PathParam("role-id") String id, List< RoleRepresentation > roles)
Definition: RoleByIdResource.java:225
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88
AdminEventBuilder adminEvent
Definition: RoleByIdResource.java:58
KeycloakSession session
Definition: RoleByIdResource.java:61

◆ deleteRole() [1/2]

void org.keycloak.services.resources.admin.RoleResource.deleteRole ( RoleModel  role)
inlineprotectedinherited
52  {
53  if (!role.getContainer().removeRole(role)) {
54  throw new NotFoundException("Role not found");
55  }
56  }

◆ deleteRole() [2/2]

void org.keycloak.services.resources.admin.RoleByIdResource.deleteRole ( final @PathParam("role-id") String  id)
inline

Delete the role

引数
idid of role
104  {
105  RoleModel role = getRoleModel(id);
106  auth.roles().requireManage(role);
107  deleteRole(role);
108 
109  if (role.isClientRole()) {
110  adminEvent.resource(ResourceType.CLIENT_ROLE);
111  } else {
112  adminEvent.resource(ResourceType.REALM_ROLE);
113  }
114 
115  adminEvent.operation(OperationType.DELETE).resourcePath(session.getContext().getUri()).success();
116  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
void deleteRole(final @PathParam("role-id") String id)
Definition: RoleByIdResource.java:104
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88
AdminEventBuilder adminEvent
Definition: RoleByIdResource.java:58
KeycloakSession session
Definition: RoleByIdResource.java:61

◆ getClientRoleComposites() [1/2]

Set<RoleRepresentation> org.keycloak.services.resources.admin.RoleResource.getClientRoleComposites ( ClientModel  app,
RoleModel  role 
)
inlineprotectedinherited
103  {
104  if (!role.isComposite() || role.getComposites().size() == 0) return Collections.emptySet();
105 
106  Set<RoleRepresentation> composites = new HashSet<RoleRepresentation>(role.getComposites().size());
107  for (RoleModel composite : role.getComposites()) {
108  if (composite.getContainer().equals(app))
109  composites.add(ModelToRepresentation.toRepresentation(composite));
110  }
111  return composites;
112  }

◆ getClientRoleComposites() [2/2]

Set<RoleRepresentation> org.keycloak.services.resources.admin.RoleByIdResource.getClientRoleComposites ( final @PathParam("role-id") String  id,
final @PathParam("client") String  client 
)
inline

Get client-level roles for the client that are in the role's composite

引数
id
client
戻り値
205  {
206 
207  RoleModel role = getRoleModel(id);
208  auth.roles().requireView(role);
209  ClientModel clientModel = realm.getClientById(client);
210  if (clientModel == null) {
211  throw new NotFoundException("Could not find client");
212  }
213  return getClientRoleComposites(clientModel, role);
214  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
final RealmModel realm
Definition: RoleByIdResource.java:56
Set< RoleRepresentation > getClientRoleComposites(final @PathParam("role-id") String id, final @PathParam("client") String client)
Definition: RoleByIdResource.java:204
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88

◆ getManagementPermissions()

ManagementPermissionReference org.keycloak.services.resources.admin.RoleByIdResource.getManagementPermissions ( final @PathParam("role-id") String  id)
inline

Return object stating whether role Authoirzation permissions have been initialized or not and a reference

引数
id
戻り値
242  {
243  RoleModel role = getRoleModel(id);
244  auth.roles().requireView(role);
245 
246  AdminPermissionManagement permissions = AdminPermissions.management(session, realm);
247  if (!permissions.roles().isPermissionsEnabled(role)) {
248  return new ManagementPermissionReference();
249  }
250  return toMgmtRef(role, permissions);
251  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
final RealmModel realm
Definition: RoleByIdResource.java:56
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88
KeycloakSession session
Definition: RoleByIdResource.java:61
static ManagementPermissionReference toMgmtRef(RoleModel role, AdminPermissionManagement permissions)
Definition: RoleByIdResource.java:253

◆ getRealmRoleComposites() [1/2]

Set<RoleRepresentation> org.keycloak.services.resources.admin.RoleResource.getRealmRoleComposites ( RoleModel  role)
inlineprotectedinherited
92  {
93  if (!role.isComposite() || role.getComposites().size() == 0) return Collections.emptySet();
94 
95  Set<RoleRepresentation> composites = new HashSet<RoleRepresentation>(role.getComposites().size());
96  for (RoleModel composite : role.getComposites()) {
97  if (composite.getContainer() instanceof RealmModel)
98  composites.add(ModelToRepresentation.toRepresentation(composite));
99  }
100  return composites;
101  }

◆ getRealmRoleComposites() [2/2]

Set<RoleRepresentation> org.keycloak.services.resources.admin.RoleByIdResource.getRealmRoleComposites ( final @PathParam("role-id") String  id)
inline

Get realm-level roles that are in the role's composite

引数
id
戻り値
186  {
187  RoleModel role = getRoleModel(id);
188  auth.roles().requireView(role);
189  auth.roles().requireView(role);
190  return getRealmRoleComposites(role);
191  }
Set< RoleRepresentation > getRealmRoleComposites(final @PathParam("role-id") String id)
Definition: RoleByIdResource.java:186
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88

◆ getRole() [1/2]

RoleRepresentation org.keycloak.services.resources.admin.RoleResource.getRole ( RoleModel  roleModel)
inlineprotectedinherited
48  {
49  return ModelToRepresentation.toRepresentation(roleModel);
50  }

◆ getRole() [2/2]

RoleRepresentation org.keycloak.services.resources.admin.RoleByIdResource.getRole ( final @PathParam("role-id") String  id)
inline

Get a specific role's representation

引数
idid of role
戻り値
81  {
82 
83  RoleModel roleModel = getRoleModel(id);
84  auth.roles().requireView(roleModel);
85  return getRole(roleModel);
86  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88
RoleRepresentation getRole(final @PathParam("role-id") String id)
Definition: RoleByIdResource.java:81

◆ getRoleComposites() [1/2]

Set<RoleRepresentation> org.keycloak.services.resources.admin.RoleResource.getRoleComposites ( RoleModel  role)
inlineprotectedinherited
82  {
83  if (!role.isComposite() || role.getComposites().size() == 0) return Collections.emptySet();
84 
85  Set<RoleRepresentation> composites = new HashSet<RoleRepresentation>(role.getComposites().size());
86  for (RoleModel composite : role.getComposites()) {
87  composites.add(ModelToRepresentation.toRepresentation(composite));
88  }
89  return composites;
90  }

◆ getRoleComposites() [2/2]

Set<RoleRepresentation> org.keycloak.services.resources.admin.RoleByIdResource.getRoleComposites ( final @PathParam("role-id") String  id)
inline

Get role's children

Returns a set of role's children provided the role is a composite.

引数
id
戻り値
168  {
169 
170  if (logger.isDebugEnabled()) logger.debug("*** getRoleComposites: '" + id + "'");
171  RoleModel role = getRoleModel(id);
172  auth.roles().requireView(role);
173  return getRoleComposites(role);
174  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
Set< RoleRepresentation > getRoleComposites(final @PathParam("role-id") String id)
Definition: RoleByIdResource.java:168
static final Logger logger
Definition: RoleByIdResource.java:55
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88

◆ getRoleModel()

RoleModel org.keycloak.services.resources.admin.RoleByIdResource.getRoleModel ( String  id)
inlineprotected
88  {
89  RoleModel roleModel = realm.getRoleById(id);
90  if (roleModel == null) {
91  throw new NotFoundException("Could not find role with id");
92  }
93  return roleModel;
94  }
final RealmModel realm
Definition: RoleByIdResource.java:56

◆ setManagementPermissionsEnabled()

ManagementPermissionReference org.keycloak.services.resources.admin.RoleByIdResource.setManagementPermissionsEnabled ( final @PathParam("role-id") String  id,
ManagementPermissionReference  ref 
)
inline

Return object stating whether role Authoirzation permissions have been initialized or not and a reference

引数
id
戻り値
initialized manage permissions reference
273  {
274  RoleModel role = getRoleModel(id);
275  auth.roles().requireManage(role);
276 
277  AdminPermissionManagement permissions = AdminPermissions.management(session, realm);
278  permissions.roles().setPermissionsEnabled(role, ref.isEnabled());
279  if (ref.isEnabled()) {
280  return toMgmtRef(role, permissions);
281  } else {
282  return new ManagementPermissionReference();
283  }
284  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
final RealmModel realm
Definition: RoleByIdResource.java:56
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88
KeycloakSession session
Definition: RoleByIdResource.java:61
static ManagementPermissionReference toMgmtRef(RoleModel role, AdminPermissionManagement permissions)
Definition: RoleByIdResource.java:253

◆ toMgmtRef()

static ManagementPermissionReference org.keycloak.services.resources.admin.RoleByIdResource.toMgmtRef ( RoleModel  role,
AdminPermissionManagement  permissions 
)
inlinestatic
253  {
254  ManagementPermissionReference ref = new ManagementPermissionReference();
255  ref.setEnabled(true);
256  ref.setResource(permissions.roles().resource(role).getId());
257  ref.setScopePermissions(permissions.roles().getPermissions(role));
258  return ref;
259  }

◆ updateRole() [1/2]

void org.keycloak.services.resources.admin.RoleResource.updateRole ( RoleRepresentation  rep,
RoleModel  role 
)
inlineprotectedinherited
58  {
59  role.setName(rep.getName());
60  role.setDescription(rep.getDescription());
61  }

◆ updateRole() [2/2]

void org.keycloak.services.resources.admin.RoleByIdResource.updateRole ( final @PathParam("role-id") String  id,
final RoleRepresentation  rep 
)
inline

Update the role

引数
idid of role
rep
127  {
128  RoleModel role = getRoleModel(id);
129  auth.roles().requireManage(role);
130  updateRole(rep, role);
131 
132  if (role.isClientRole()) {
133  adminEvent.resource(ResourceType.CLIENT_ROLE);
134  } else {
135  adminEvent.resource(ResourceType.REALM_ROLE);
136  }
137 
138  adminEvent.operation(OperationType.UPDATE).resourcePath(session.getContext().getUri()).representation(rep).success();
139  }
AdminPermissionEvaluator auth
Definition: RoleByIdResource.java:57
void updateRole(final @PathParam("role-id") String id, final RoleRepresentation rep)
Definition: RoleByIdResource.java:127
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
void success()
Definition: AdminEventBuilder.java:226
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171
RoleModel getRoleModel(String id)
Definition: RoleByIdResource.java:88
AdminEventBuilder adminEvent
Definition: RoleByIdResource.java:58
KeycloakSession session
Definition: RoleByIdResource.java:61

メンバ詳解

◆ adminEvent

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

◆ auth

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

◆ logger

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

◆ realm

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

◆ session

KeycloakSession org.keycloak.services.resources.admin.RoleByIdResource.session
private

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