keycloak-service
公開メンバ関数 | 限定公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.partialimport.ClientRolesPartialImport クラス
org.keycloak.partialimport.ClientRolesPartialImport 連携図
Collaboration graph

公開メンバ関数

Map< String, Set< RoleRepresentation > > getToOverwrite ()
 
Map< String, Set< RoleRepresentation > > getToSkip ()
 
Map< String, List< RoleRepresentation > > getRepList (PartialImportRepresentation partialImportRep)
 
String getName (RoleRepresentation roleRep)
 
String getCombinedName (String clientId, RoleRepresentation roleRep)
 
boolean exists (RealmModel realm, KeycloakSession session, String clientId, RoleRepresentation roleRep)
 
String existsMessage (String clientId, RoleRepresentation roleRep)
 
ResourceType getResourceType ()
 
void deleteRole (RealmModel realm, String clientId, RoleRepresentation roleRep)
 
void prepare (PartialImportRepresentation partialImportRep, RealmModel realm, KeycloakSession session) throws ErrorResponseException
 
PartialImportResult overwritten (String clientId, String modelId, RoleRepresentation roleRep)
 
PartialImportResult skipped (String clientId, String modelId, RoleRepresentation roleRep)
 
PartialImportResult added (String clientId, String modelId, RoleRepresentation roleRep)
 
String getModelId (RealmModel realm, String clientId)
 

限定公開メンバ関数

ErrorResponseException exists (String message)
 
ErrorResponseException noClientFound (String clientId)
 

非公開メンバ関数

boolean clientExists (PartialImportRepresentation partialImportRep, RealmModel realm, String clientId)
 

非公開変数類

final Map< String, Set< RoleRepresentation > > toOverwrite = new HashMap<>()
 
final Map< String, Set< RoleRepresentation > > toSkip = new HashMap<>()
 

詳解

Partial Import handler for Client Roles.

著者
Stan Silvert ssilv.nosp@m.ert@.nosp@m.redha.nosp@m.t.co.nosp@m.m (C) 2016 Red Hat Inc.

関数詳解

◆ added()

PartialImportResult org.keycloak.partialimport.ClientRolesPartialImport.added ( String  clientId,
String  modelId,
RoleRepresentation  roleRep 
)
inline
161  {
162  return PartialImportResult.added(getResourceType(), getCombinedName(clientId, roleRep), modelId, roleRep);
163  }
String getCombinedName(String clientId, RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:63
ResourceType getResourceType()
Definition: ClientRolesPartialImport.java:95

◆ clientExists()

boolean org.keycloak.partialimport.ClientRolesPartialImport.clientExists ( PartialImportRepresentation  partialImportRep,
RealmModel  realm,
String  clientId 
)
inlineprivate
79  {
80  if (realm.getClientByClientId(clientId) != null) return true;
81 
82  if (partialImportRep.getClients() == null) return false;
83 
84  for (ClientRepresentation client : partialImportRep.getClients()) {
85  if (clientId.equals(client.getClientId())) return true;
86  }
87 
88  return false;
89  }

◆ deleteRole()

void org.keycloak.partialimport.ClientRolesPartialImport.deleteRole ( RealmModel  realm,
String  clientId,
RoleRepresentation  roleRep 
)
inline
99  {
100  ClientModel client = realm.getClientByClientId(clientId);
101  if (client == null) {
102  // client might have been removed as part of this partial import
103  return;
104  }
105  RoleModel role = client.getRole(getName(roleRep));
106  if (role == null) {
107  // role might not exist if client was just created as part of the
108  // partial import
109  return;
110  }
111  client.removeRole(role);
112  }
String getName(RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:57

◆ exists() [1/2]

boolean org.keycloak.partialimport.ClientRolesPartialImport.exists ( RealmModel  realm,
KeycloakSession  session,
String  clientId,
RoleRepresentation  roleRep 
)
inline
67  {
68  ClientModel client = realm.getClientByClientId(clientId);
69  if (client == null) return false;
70 
71  for (RoleModel role : client.getRoles()) {
72  if (getName(roleRep).equals(role.getName())) return true;
73  }
74 
75  return false;
76  }
String getName(RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:57

◆ exists() [2/2]

ErrorResponseException org.keycloak.partialimport.ClientRolesPartialImport.exists ( String  message)
inlineprotected
142  {
143  Response error = ErrorResponse.exists(message);
144  return new ErrorResponseException(error);
145  }

◆ existsMessage()

String org.keycloak.partialimport.ClientRolesPartialImport.existsMessage ( String  clientId,
RoleRepresentation  roleRep 
)
inline
91  {
92  return "Client role '" + getName(roleRep) + "' for client '" + clientId + "' already exists.";
93  }
String getName(RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:57

◆ getCombinedName()

String org.keycloak.partialimport.ClientRolesPartialImport.getCombinedName ( String  clientId,
RoleRepresentation  roleRep 
)
inline
63  {
64  return clientId + "-->" + getName(roleRep);
65  }
String getName(RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:57

◆ getModelId()

String org.keycloak.partialimport.ClientRolesPartialImport.getModelId ( RealmModel  realm,
String  clientId 
)
inline
165  {
166  return realm.getClientByClientId(clientId).getId();
167  }

◆ getName()

String org.keycloak.partialimport.ClientRolesPartialImport.getName ( RoleRepresentation  roleRep)
inline
57  {
58  if (roleRep.getName() == null)
59  throw new IllegalStateException("Client role to import does not have a name");
60  return roleRep.getName();
61  }

◆ getRepList()

Map<String, List<RoleRepresentation> > org.keycloak.partialimport.ClientRolesPartialImport.getRepList ( PartialImportRepresentation  partialImportRep)
inline
52  {
53  if (partialImportRep.getRoles() == null) return null;
54  return partialImportRep.getRoles().getClient();
55  }

◆ getResourceType()

ResourceType org.keycloak.partialimport.ClientRolesPartialImport.getResourceType ( )
inline
95  {
96  return ResourceType.CLIENT_ROLE;
97  }

◆ getToOverwrite()

Map<String, Set<RoleRepresentation> > org.keycloak.partialimport.ClientRolesPartialImport.getToOverwrite ( )
inline
44  {
45  return this.toOverwrite;
46  }
final Map< String, Set< RoleRepresentation > > toOverwrite
Definition: ClientRolesPartialImport.java:41

◆ getToSkip()

Map<String, Set<RoleRepresentation> > org.keycloak.partialimport.ClientRolesPartialImport.getToSkip ( )
inline
48  {
49  return this.toSkip;
50  }
final Map< String, Set< RoleRepresentation > > toSkip
Definition: ClientRolesPartialImport.java:42

◆ noClientFound()

ErrorResponseException org.keycloak.partialimport.ClientRolesPartialImport.noClientFound ( String  clientId)
inlineprotected
147  {
148  String message = "Can not import client roles for nonexistent client named " + clientId;
149  Response error = ErrorResponse.error(message, Response.Status.PRECONDITION_FAILED);
150  return new ErrorResponseException(error);
151  }

◆ overwritten()

PartialImportResult org.keycloak.partialimport.ClientRolesPartialImport.overwritten ( String  clientId,
String  modelId,
RoleRepresentation  roleRep 
)
inline
153  {
154  return PartialImportResult.overwritten(getResourceType(), getCombinedName(clientId, roleRep), modelId, roleRep);
155  }
String getCombinedName(String clientId, RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:63
ResourceType getResourceType()
Definition: ClientRolesPartialImport.java:95

◆ prepare()

void org.keycloak.partialimport.ClientRolesPartialImport.prepare ( PartialImportRepresentation  partialImportRep,
RealmModel  realm,
KeycloakSession  session 
) throws ErrorResponseException
inline
114  {
115  Map<String, List<RoleRepresentation>> repList = getRepList(partialImportRep);
116  if (repList == null || repList.isEmpty()) return;
117 
118  for (String clientId : repList.keySet()) {
119  if (!clientExists(partialImportRep, realm, clientId)) {
120  throw noClientFound(clientId);
121  }
122 
123  toOverwrite.put(clientId, new HashSet<RoleRepresentation>());
124  toSkip.put(clientId, new HashSet<RoleRepresentation>());
125  for (RoleRepresentation roleRep : repList.get(clientId)) {
126  if (exists(realm, session, clientId, roleRep)) {
127  switch (partialImportRep.getPolicy()) {
128  case SKIP:
129  toSkip.get(clientId).add(roleRep);
130  break;
131  case OVERWRITE:
132  toOverwrite.get(clientId).add(roleRep);
133  break;
134  default:
135  throw exists(existsMessage(clientId, roleRep));
136  }
137  }
138  }
139  }
140  }
final Map< String, Set< RoleRepresentation > > toSkip
Definition: ClientRolesPartialImport.java:42
final Map< String, Set< RoleRepresentation > > toOverwrite
Definition: ClientRolesPartialImport.java:41
boolean clientExists(PartialImportRepresentation partialImportRep, RealmModel realm, String clientId)
Definition: ClientRolesPartialImport.java:79
String existsMessage(String clientId, RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:91
Map< String, List< RoleRepresentation > > getRepList(PartialImportRepresentation partialImportRep)
Definition: ClientRolesPartialImport.java:52
ErrorResponseException noClientFound(String clientId)
Definition: ClientRolesPartialImport.java:147
boolean exists(RealmModel realm, KeycloakSession session, String clientId, RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:67

◆ skipped()

PartialImportResult org.keycloak.partialimport.ClientRolesPartialImport.skipped ( String  clientId,
String  modelId,
RoleRepresentation  roleRep 
)
inline
157  {
158  return PartialImportResult.skipped(getResourceType(), getCombinedName(clientId, roleRep), modelId, roleRep);
159  }
String getCombinedName(String clientId, RoleRepresentation roleRep)
Definition: ClientRolesPartialImport.java:63
ResourceType getResourceType()
Definition: ClientRolesPartialImport.java:95

メンバ詳解

◆ toOverwrite

final Map<String, Set<RoleRepresentation> > org.keycloak.partialimport.ClientRolesPartialImport.toOverwrite = new HashMap<>()
private

◆ toSkip

final Map<String, Set<RoleRepresentation> > org.keycloak.partialimport.ClientRolesPartialImport.toSkip = new HashMap<>()
private

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