keycloak-service
公開メンバ関数 | 非公開メンバ関数 | 静的非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.services.resources.admin.info.ServerInfoAdminResource クラス
org.keycloak.services.resources.admin.info.ServerInfoAdminResource 連携図
Collaboration graph

公開メンバ関数

ServerInfoRepresentation getInfo ()
 
void setIdentityProviders (List< ProviderFactory > factories, List< Map< String, String >> providers, String groupName)
 

非公開メンバ関数

void setProviders (ServerInfoRepresentation info)
 
void setThemes (ServerInfoRepresentation info)
 
void setSocialProviders (ServerInfoRepresentation info)
 
void setIdentityProviders (ServerInfoRepresentation info)
 
void setClientInstallations (ServerInfoRepresentation info)
 
void setProtocolMapperTypes (ServerInfoRepresentation info)
 
void setBuiltinProtocolMappers (ServerInfoRepresentation info)
 
void setPasswordPolicies (ServerInfoRepresentation info)
 

静的非公開メンバ関数

static Map< String, List< String > > createEnumsMap (Class... enums)
 

非公開変数類

KeycloakSession session
 

静的非公開変数類

static final Map< String, List< String > > ENUMS = createEnumsMap(EventType.class, OperationType.class, ResourceType.class)
 

詳解

著者
Stian Thorgersen

関数詳解

◆ createEnumsMap()

static Map<String, List<String> > org.keycloak.services.resources.admin.info.ServerInfoAdminResource.createEnumsMap ( Class...  enums)
inlinestaticprivate
293  {
294  Map<String, List<String>> m = new HashMap<>();
295  for (Class e : enums) {
296  String n = e.getSimpleName();
297  n = Character.toLowerCase(n.charAt(0)) + n.substring(1);
298 
299  List<String> l = new LinkedList<>();
300  for (Object c : e.getEnumConstants()) {
301  l.add(c.toString());
302  }
303  Collections.sort(l);
304 
305  m.put(n, l);
306  }
307  return m;
308  }

◆ getInfo()

ServerInfoRepresentation org.keycloak.services.resources.admin.info.ServerInfoAdminResource.getInfo ( )
inline

Get themes, social providers, auth providers, and event listeners available on this server

戻り値
90  {
91  ServerInfoRepresentation info = new ServerInfoRepresentation();
92  info.setSystemInfo(SystemInfoRepresentation.create(session.getKeycloakSessionFactory().getServerStartupTimestamp()));
93  info.setMemoryInfo(MemoryInfoRepresentation.create());
94  info.setProfileInfo(ProfileInfoRepresentation.create());
95 
96  setSocialProviders(info);
98  setThemes(info);
99  setProviders(info);
103  setPasswordPolicies(info);
104  info.setEnums(ENUMS);
105  return info;
106  }
void setBuiltinProtocolMappers(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:267
void setClientInstallations(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:225
KeycloakSession session
Definition: ServerInfoAdminResource.java:81
void setIdentityProviders(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:204
void setProviders(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:108
void setThemes(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:165
void setProtocolMapperTypes(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:246
void setSocialProviders(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:198
void setPasswordPolicies(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:279
static final Map< String, List< String > > ENUMS
Definition: ServerInfoAdminResource.java:78

◆ setBuiltinProtocolMappers()

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setBuiltinProtocolMappers ( ServerInfoRepresentation  info)
inlineprivate
267  {
268  info.setBuiltinProtocolMappers(new HashMap<String, List<ProtocolMapperRepresentation>>());
269  for (ProviderFactory p : session.getKeycloakSessionFactory().getProviderFactories(LoginProtocol.class)) {
270  LoginProtocolFactory factory = (LoginProtocolFactory)p;
271  List<ProtocolMapperRepresentation> mappers = new LinkedList<>();
272  for (ProtocolMapperModel mapper : factory.getBuiltinMappers().values()) {
273  mappers.add(ModelToRepresentation.toRepresentation(mapper));
274  }
275  info.getBuiltinProtocolMappers().put(p.getId(), mappers);
276  }
277  }
KeycloakSession session
Definition: ServerInfoAdminResource.java:81

◆ setClientInstallations()

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setClientInstallations ( ServerInfoRepresentation  info)
inlineprivate
225  {
226  info.setClientInstallations(new HashMap<String, List<ClientInstallationRepresentation>>());
227  for (ProviderFactory p : session.getKeycloakSessionFactory().getProviderFactories(ClientInstallationProvider.class)) {
228  ClientInstallationProvider provider = (ClientInstallationProvider)p;
229  List<ClientInstallationRepresentation> types = info.getClientInstallations().get(provider.getProtocol());
230  if (types == null) {
231  types = new LinkedList<>();
232  info.getClientInstallations().put(provider.getProtocol(), types);
233  }
234  ClientInstallationRepresentation rep = new ClientInstallationRepresentation();
235  rep.setId(p.getId());
236  rep.setHelpText(provider.getHelpText());
237  rep.setDisplayType( provider.getDisplayType());
238  rep.setProtocol( provider.getProtocol());
239  rep.setDownloadOnly( provider.isDownloadOnly());
240  rep.setFilename(provider.getFilename());
241  rep.setMediaType(provider.getMediaType());
242  types.add(rep);
243  }
244  }
KeycloakSession session
Definition: ServerInfoAdminResource.java:81

◆ setIdentityProviders() [1/2]

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setIdentityProviders ( ServerInfoRepresentation  info)
inlineprivate
204  {
205  info.setIdentityProviders(new LinkedList<Map<String, String>>());
206  List<ProviderFactory> providerFactories = session.getKeycloakSessionFactory().getProviderFactories(IdentityProvider.class);
207  setIdentityProviders(providerFactories, info.getIdentityProviders(), "User-defined");
208 
209  providerFactories = session.getKeycloakSessionFactory().getProviderFactories(SocialIdentityProvider.class);
210  setIdentityProviders(providerFactories, info.getIdentityProviders(), "Social");
211  }
KeycloakSession session
Definition: ServerInfoAdminResource.java:81
void setIdentityProviders(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:204

◆ setIdentityProviders() [2/2]

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setIdentityProviders ( List< ProviderFactory >  factories,
List< Map< String, String >>  providers,
String  groupName 
)
inline
213  {
214  for (ProviderFactory providerFactory : factories) {
215  IdentityProviderFactory factory = (IdentityProviderFactory) providerFactory;
216  Map<String, String> data = new HashMap<>();
217  data.put("groupName", groupName);
218  data.put("name", factory.getName());
219  data.put("id", factory.getId());
220 
221  providers.add(data);
222  }
223  }

◆ setPasswordPolicies()

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setPasswordPolicies ( ServerInfoRepresentation  info)
inlineprivate
279  {
280  info.setPasswordPolicies(new LinkedList<>());
281  for (ProviderFactory f : session.getKeycloakSessionFactory().getProviderFactories(PasswordPolicyProvider.class)) {
282  PasswordPolicyProviderFactory factory = (PasswordPolicyProviderFactory) f;
283  PasswordPolicyTypeRepresentation rep = new PasswordPolicyTypeRepresentation();
284  rep.setId(factory.getId());
285  rep.setDisplayName(factory.getDisplayName());
286  rep.setConfigType(factory.getConfigType());
287  rep.setDefaultValue(factory.getDefaultConfigValue());
288  rep.setMultipleSupported(factory.isMultiplSupported());
289  info.getPasswordPolicies().add(rep);
290  }
291  }
KeycloakSession session
Definition: ServerInfoAdminResource.java:81

◆ setProtocolMapperTypes()

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setProtocolMapperTypes ( ServerInfoRepresentation  info)
inlineprivate
246  {
247  info.setProtocolMapperTypes(new HashMap<String, List<ProtocolMapperTypeRepresentation>>());
248  for (ProviderFactory p : session.getKeycloakSessionFactory().getProviderFactories(ProtocolMapper.class)) {
249  ProtocolMapper mapper = (ProtocolMapper)p;
250  List<ProtocolMapperTypeRepresentation> types = info.getProtocolMapperTypes().get(mapper.getProtocol());
251  if (types == null) {
252  types = new LinkedList<>();
253  info.getProtocolMapperTypes().put(mapper.getProtocol(), types);
254  }
255  ProtocolMapperTypeRepresentation rep = new ProtocolMapperTypeRepresentation();
256  rep.setId(mapper.getId());
257  rep.setName(mapper.getDisplayType());
258  rep.setHelpText(mapper.getHelpText());
259  rep.setCategory(mapper.getDisplayCategory());
260  rep.setProperties(new LinkedList<ConfigPropertyRepresentation>());
261  List<ProviderConfigProperty> configProperties = mapper.getConfigProperties();
262  rep.setProperties(ModelToRepresentation.toRepresentation(configProperties));
263  types.add(rep);
264  }
265  }
KeycloakSession session
Definition: ServerInfoAdminResource.java:81

◆ setProviders()

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setProviders ( ServerInfoRepresentation  info)
inlineprivate
108  {
109  info.setComponentTypes(new HashMap<>());
110  LinkedHashMap<String, SpiInfoRepresentation> spiReps = new LinkedHashMap<>();
111 
112  List<Spi> spis = new LinkedList<>(session.getKeycloakSessionFactory().getSpis());
113  Collections.sort(spis, new Comparator<Spi>() {
114  @Override
115  public int compare(Spi s1, Spi s2) {
116  return s1.getName().compareTo(s2.getName());
117  }
118  });
119 
120  for (Spi spi : spis) {
121  SpiInfoRepresentation spiRep = new SpiInfoRepresentation();
122  spiRep.setInternal(spi.isInternal());
123 
124  List<String> providerIds = new LinkedList<>(session.listProviderIds(spi.getProviderClass()));
125  Collections.sort(providerIds);
126 
127  Map<String, ProviderRepresentation> providers = new HashMap<>();
128 
129  if (providerIds != null) {
130  for (String name : providerIds) {
131  ProviderRepresentation provider = new ProviderRepresentation();
132  ProviderFactory<?> pi = session.getKeycloakSessionFactory().getProviderFactory(spi.getProviderClass(), name);
133  provider.setOrder(pi.order());
134  if (ServerInfoAwareProviderFactory.class.isAssignableFrom(pi.getClass())) {
135  provider.setOperationalInfo(((ServerInfoAwareProviderFactory) pi).getOperationalInfo());
136  }
137  if (pi instanceof ConfiguredProvider) {
138  ComponentTypeRepresentation rep = new ComponentTypeRepresentation();
139  rep.setId(pi.getId());
140  ConfiguredProvider configured = (ConfiguredProvider)pi;
141  rep.setHelpText(configured.getHelpText());
142  List<ProviderConfigProperty> configProperties = configured.getConfigProperties();
143  if (configProperties == null) configProperties = Collections.EMPTY_LIST;
144  rep.setProperties(ModelToRepresentation.toRepresentation(configProperties));
145  if (pi instanceof ComponentFactory) {
146  rep.setMetadata(((ComponentFactory)pi).getTypeMetadata());
147  }
148  List<ComponentTypeRepresentation> reps = info.getComponentTypes().get(spi.getProviderClass().getName());
149  if (reps == null) {
150  reps = new LinkedList<>();
151  info.getComponentTypes().put(spi.getProviderClass().getName(), reps);
152  }
153  reps.add(rep);
154  }
155  providers.put(name, provider);
156  }
157  }
158  spiRep.setProviders(providers);
159 
160  spiReps.put(spi.getName(), spiRep);
161  }
162  info.setProviders(spiReps);
163  }
KeycloakSession session
Definition: ServerInfoAdminResource.java:81

◆ setSocialProviders()

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setSocialProviders ( ServerInfoRepresentation  info)
inlineprivate
198  {
199  info.setSocialProviders(new LinkedList<Map<String, String>>());
200  List<ProviderFactory> providerFactories = session.getKeycloakSessionFactory().getProviderFactories(SocialIdentityProvider.class);
201  setIdentityProviders(providerFactories, info.getSocialProviders(), "Social");
202  }
KeycloakSession session
Definition: ServerInfoAdminResource.java:81
void setIdentityProviders(ServerInfoRepresentation info)
Definition: ServerInfoAdminResource.java:204

◆ setThemes()

void org.keycloak.services.resources.admin.info.ServerInfoAdminResource.setThemes ( ServerInfoRepresentation  info)
inlineprivate
165  {
166  info.setThemes(new HashMap<String, List<ThemeInfoRepresentation>>());
167 
168  for (Theme.Type type : Theme.Type.values()) {
169  List<String> themeNames = new LinkedList<>(session.theme().nameSet(type));
170  Collections.sort(themeNames);
171 
172  if (!Profile.isFeatureEnabled(Profile.Feature.ACCOUNT2)) {
173  themeNames.remove("keycloak-preview");
174  }
175 
176  List<ThemeInfoRepresentation> themes = new LinkedList<>();
177  info.getThemes().put(type.toString().toLowerCase(), themes);
178 
179  for (String name : themeNames) {
180  try {
181  Theme theme = session.theme().getTheme(name, type);
182  ThemeInfoRepresentation ti = new ThemeInfoRepresentation();
183  ti.setName(name);
184 
185  String locales = theme.getProperties().getProperty("locales");
186  if (locales != null) {
187  ti.setLocales(locales.replaceAll(" ", "").split(","));
188  }
189 
190  themes.add(ti);
191  } catch (IOException e) {
192  throw new WebApplicationException("Failed to load themes", e);
193  }
194  }
195  }
196  }
KeycloakSession session
Definition: ServerInfoAdminResource.java:81

メンバ詳解

◆ ENUMS

final Map<String, List<String> > org.keycloak.services.resources.admin.info.ServerInfoAdminResource.ENUMS = createEnumsMap(EventType.class, OperationType.class, ResourceType.class)
staticprivate

◆ session

KeycloakSession org.keycloak.services.resources.admin.info.ServerInfoAdminResource.session
private

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