gluu
公開メンバ関数 | 限定公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.xdi.oxauth.service.AppInitializer クラス
org.xdi.oxauth.service.AppInitializer 連携図
Collaboration graph

公開メンバ関数

void createApplicationComponents ()
 
void applicationInitialized (@Observes @Initialized(ApplicationScoped.class) Object init)
 
StringEncrypter getStringEncrypter ()
 
void initTimer ()
 
void reloadConfigurationTimerEvent (@Observes @Scheduled AuthConfigurationEvent authConfigurationEvent)
 
PersistenceEntryManager createPersistenceAuthEntryManager (GluuLdapConfiguration persistenceAuthConfig)
 
PersistenceEntryManager createPersistenceEntryManager ()
 
List< GluuLdapConfiguration > createPersistenceAuthConfigs ()
 
List< PersistenceEntryManager > createPersistenceAuthEntryManager ()
 
void recreatePersistenceEntryManager (@Observes @LdapConfigurationReload String event)
 
void recreatePersistenceAuthEntryManagers (List< GluuLdapConfiguration > newPersistenceAuthConfigs)
 
AuthenticationMode getDefaultAuthenticationMode ()
 
void destroy (@Observes @BeforeDestroyed(ApplicationScoped.class) ServletContext init)
 

限定公開メンバ関数

void initSchedulerService ()
 

非公開メンバ関数

void reloadConfiguration ()
 
void closePersistenceEntryManager (PersistenceEntryManager oldPersistenceEntryManager)
 
void closePersistenceEntryManagers (List< PersistenceEntryManager > oldPersistenceEntryManagers)
 
List< Properties > prepareAuthConnectionProperties (List< GluuLdapConfiguration > persistenceAuthConfigs)
 
Properties prepareAuthConnectionProperties (GluuLdapConfiguration persistenceAuthConfig)
 
String buildServersString (List<?> servers)
 
void setDefaultAuthenticationMethod (PersistenceEntryManager localPersistenceEntryManager)
 
String getActualDefaultAuthenticationMethod (PersistenceEntryManager localPersistenceEntryManager)
 
GluuAppliance loadAppliance (PersistenceEntryManager localPersistenceEntryManager, String ... persistenceReturnAttributes)
 
List< GluuLdapConfiguration > loadPersistenceAuthConfigs (PersistenceEntryManager localPersistenceEntryManager)
 
List< oxIDPAuthConfloadLdapIdpAuthConfigs (PersistenceEntryManager localPersistenceEntryManager)
 
GluuLdapConfiguration loadPersistenceAuthConfig (oxIDPAuthConf configuration)
 

非公開変数類

Logger log
 
BeanManager beanManager
 
Event< String > event
 
Event< TimerEvent > timerEvent
 
Instance< PersistenceEntryManager > persistenceEntryManagerInstance
 
Instance< List< PersistenceEntryManager > > persistenceAuthEntryManagerInstance
 
Instance< List< GluuLdapConfiguration > > persistenceAuthConfigInstance
 
ApplicationFactory applicationFactory
 
Instance< AuthenticationModeauthenticationModeInstance
 
Instance< EncryptionServiceencryptionServiceInstance
 
PythonService pythonService
 
MetricService metricService
 
CustomScriptManager customScriptManager
 
ConfigurationFactory configurationFactory
 
CleanerTimer cleanerTimer
 
KeyGeneratorTimer keyGeneratorTimer
 
CustomLibrariesLoader customLibrariesLoader
 
LdapStatusTimer ldapStatusTimer
 
QuartzSchedulerManager quartzSchedulerManager
 
LoggerService loggerService
 
JsonService jsonService
 
AtomicBoolean isActive
 
long lastFinishedTime
 
AuthenticationMode authenticationMode
 
List< GluuLdapConfiguration > persistenceAuthConfigs
 

静的非公開変数類

static final String EVENT_TYPE = "AppInitializerTimerEvent"
 
static final int DEFAULT_INTERVAL = 30
 

詳解

著者
Javier Rojas Blum
Yuriy Movchan
Yuriy Zabrovarnyy
バージョン
0.1, 24/10/2011

関数詳解

◆ applicationInitialized()

void org.xdi.oxauth.service.AppInitializer.applicationInitialized ( @Observes @Initialized(ApplicationScoped.class) Object  init)
inline
155  {
156  log.debug("Initializing application services");
157  customLibrariesLoader.init();
158 
160 
161  PersistenceEntryManager localPersistenceEntryManager = persistenceEntryManagerInstance.get();
162  this.persistenceAuthConfigs = loadPersistenceAuthConfigs(localPersistenceEntryManager);
163 
164  setDefaultAuthenticationMethod(localPersistenceEntryManager);
165 
166  // Initialize python interpreter
167  pythonService.initPythonInterpreter(configurationFactory.getPersistenceConfiguration().getConfiguration().getString("pythonModulesDir", null));
168 
169  // Initialize script manager
170  List<CustomScriptType> supportedCustomScriptTypes = Arrays.asList(CustomScriptType.PERSON_AUTHENTICATION, CustomScriptType.CONSENT_GATHERING,
171  CustomScriptType.CLIENT_REGISTRATION, CustomScriptType.ID_GENERATOR, CustomScriptType.UMA_RPT_POLICY, CustomScriptType.UMA_CLAIMS_GATHERING,
172  CustomScriptType.APPLICATION_SESSION, CustomScriptType.DYNAMIC_SCOPE);
173 
174  // Start timer
176 
177  // Schedule timer tasks
180  loggerService.initTimer();
183  customScriptManager.initTimer(supportedCustomScriptTypes);
185  initTimer();
186  }
void initSchedulerService()
Definition: AppInitializer.java:188
Instance< PersistenceEntryManager > persistenceEntryManagerInstance
Definition: AppInitializer.java:94
CustomScriptManager customScriptManager
Definition: AppInitializer.java:118
void initTimer()
Definition: LdapStatusTimer.java:56
void initTimer()
Definition: CleanerTimer.java:112
LoggerService loggerService
Definition: AppInitializer.java:139
void initTimer()
Definition: MetricService.java:47
List< GluuLdapConfiguration > loadPersistenceAuthConfigs(PersistenceEntryManager localPersistenceEntryManager)
Definition: AppInitializer.java:481
void initTimer()
Definition: AppInitializer.java:216
List< GluuLdapConfiguration > persistenceAuthConfigs
Definition: AppInitializer.java:148
KeyGeneratorTimer keyGeneratorTimer
Definition: AppInitializer.java:127
Logger log
Definition: AppInitializer.java:82
void initTimer()
Definition: ConfigurationFactory.java:179
void initTimer()
Definition: KeyGeneratorTimer.java:67
CleanerTimer cleanerTimer
Definition: AppInitializer.java:124
ConfigurationFactory configurationFactory
Definition: AppInitializer.java:121
void setDefaultAuthenticationMethod(PersistenceEntryManager localPersistenceEntryManager)
Definition: AppInitializer.java:428
void create()
Definition: ConfigurationFactory.java:170
PersistenceConfiguration getPersistenceConfiguration()
Definition: ConfigurationFactory.java:247
LdapStatusTimer ldapStatusTimer
Definition: AppInitializer.java:133
PythonService pythonService
Definition: AppInitializer.java:112
final FileConfiguration getConfiguration()
Definition: ConfigurationFactory.java:661
MetricService metricService
Definition: AppInitializer.java:115
CustomLibrariesLoader customLibrariesLoader
Definition: AppInitializer.java:130

◆ buildServersString()

String org.xdi.oxauth.service.AppInitializer.buildServersString ( List<?>  servers)
inlineprivate
403  {
404  StringBuilder sb = new StringBuilder();
405 
406  if (servers == null) {
407  return sb.toString();
408  }
409 
410  boolean first = true;
411  for (Object server : servers) {
412  if (first) {
413  first = false;
414  } else {
415  sb.append(",");
416  }
417 
418  if (server instanceof SimpleProperty) {
419  sb.append(((SimpleProperty) server).getValue());
420  } else {
421  sb.append(server);
422  }
423  }
424 
425  return sb.toString();
426  }

◆ closePersistenceEntryManager()

void org.xdi.oxauth.service.AppInitializer.closePersistenceEntryManager ( PersistenceEntryManager  oldPersistenceEntryManager)
inlineprivate
324  {
325  // Close existing connections
326  log.debug("Attempting to destroy {}: {}", ApplicationFactory.PERSISTENCE_ENTRY_MANAGER_NAME, oldPersistenceEntryManager);
327  oldPersistenceEntryManager.destroy();
328  log.debug("Destroyed {}: {}", ApplicationFactory.PERSISTENCE_ENTRY_MANAGER_NAME, oldPersistenceEntryManager);
329  }
Logger log
Definition: AppInitializer.java:82

◆ closePersistenceEntryManagers()

void org.xdi.oxauth.service.AppInitializer.closePersistenceEntryManagers ( List< PersistenceEntryManager >  oldPersistenceEntryManagers)
inlineprivate
331  {
332  // Close existing connections
333  for (PersistenceEntryManager oldPersistenceEntryManager : oldPersistenceEntryManagers) {
334  log.debug("Attempting to destroy {}: {}", ApplicationFactory.PERSISTENCE_AUTH_ENTRY_MANAGER_NAME, oldPersistenceEntryManager);
335  oldPersistenceEntryManager.destroy();
336  log.debug("Destroyed {}: {}", ApplicationFactory.PERSISTENCE_AUTH_ENTRY_MANAGER_NAME, oldPersistenceEntryManager);
337  }
338  }
Logger log
Definition: AppInitializer.java:82

◆ createApplicationComponents()

void org.xdi.oxauth.service.AppInitializer.createApplicationComponents ( )
inline
151  {
152  SecurityProviderUtility.installBCProvider();
153  }

◆ createPersistenceAuthConfigs()

List<GluuLdapConfiguration> org.xdi.oxauth.service.AppInitializer.createPersistenceAuthConfigs ( )
inline
288  {
289  return persistenceAuthConfigs;
290  }
List< GluuLdapConfiguration > persistenceAuthConfigs
Definition: AppInitializer.java:148

◆ createPersistenceAuthEntryManager() [1/2]

PersistenceEntryManager org.xdi.oxauth.service.AppInitializer.createPersistenceAuthEntryManager ( GluuLdapConfiguration  persistenceAuthConfig)
inline
263  {
264  Properties persistenceConnectionProperties = prepareAuthConnectionProperties(persistenceAuthConfig);
265 
266  PersistenceEntryManager persistenceAuthEntryManager = applicationFactory.getPersistenceEntryManagerFactory().createEntryManager(persistenceConnectionProperties);
267  log.debug("Created custom authentication PersistenceEntryManager: {}", persistenceAuthEntryManager);
268 
269  return persistenceAuthEntryManager;
270  }
PersistenceEntryManagerFactory getPersistenceEntryManagerFactory()
Definition: ApplicationFactory.java:96
List< Properties > prepareAuthConnectionProperties(List< GluuLdapConfiguration > persistenceAuthConfigs)
Definition: AppInitializer.java:368
Logger log
Definition: AppInitializer.java:82
ApplicationFactory applicationFactory
Definition: AppInitializer.java:103

◆ createPersistenceAuthEntryManager() [2/2]

List<PersistenceEntryManager> org.xdi.oxauth.service.AppInitializer.createPersistenceAuthEntryManager ( )
inline
293  {
294  List<PersistenceEntryManager> persistenceAuthEntryManagers = new ArrayList<PersistenceEntryManager>();
295  if (this.persistenceAuthConfigs.size() == 0) {
296  return persistenceAuthEntryManagers;
297  }
298 
299  List<Properties> persistenceAuthProperties = prepareAuthConnectionProperties(this.persistenceAuthConfigs);
300 
301  for (int i = 0; i < persistenceAuthProperties.size(); i++) {
302  PersistenceEntryManager persistenceAuthEntryManager = applicationFactory.getPersistenceEntryManagerFactory().createEntryManager(persistenceAuthProperties.get(i));
303  log.debug("Created {}#{}: {}", new Object[] { ApplicationFactory.PERSISTENCE_AUTH_ENTRY_MANAGER_NAME, i, persistenceAuthEntryManager });
304 
305  persistenceAuthEntryManagers.add(persistenceAuthEntryManager);
306  }
307 
308  return persistenceAuthEntryManagers;
309  }
PersistenceEntryManagerFactory getPersistenceEntryManagerFactory()
Definition: ApplicationFactory.java:96
List< Properties > prepareAuthConnectionProperties(List< GluuLdapConfiguration > persistenceAuthConfigs)
Definition: AppInitializer.java:368
List< GluuLdapConfiguration > persistenceAuthConfigs
Definition: AppInitializer.java:148
Logger log
Definition: AppInitializer.java:82
ApplicationFactory applicationFactory
Definition: AppInitializer.java:103

◆ createPersistenceEntryManager()

PersistenceEntryManager org.xdi.oxauth.service.AppInitializer.createPersistenceEntryManager ( )
inline
273  {
274  PersistenceConfiguration persistenceConfiguration = this.configurationFactory.getPersistenceConfiguration();
275  FileConfiguration persistenceConfig = persistenceConfiguration.getConfiguration();
276  Properties connectionProperties = (Properties) persistenceConfig.getProperties();
277 
278  EncryptionService securityService = encryptionServiceInstance.get();
279  Properties decryptedConnectionProperties = securityService.decryptAllProperties(connectionProperties);
280 
281  PersistenceEntryManager persistenceEntryManager = applicationFactory.getPersistenceEntryManagerFactory().createEntryManager(decryptedConnectionProperties);
282  log.info("Created {}: {}", new Object[] { ApplicationFactory.PERSISTENCE_ENTRY_MANAGER_NAME, persistenceEntryManager });
283 
284  return persistenceEntryManager;
285  }
PersistenceEntryManagerFactory getPersistenceEntryManagerFactory()
Definition: ApplicationFactory.java:96
Instance< EncryptionService > encryptionServiceInstance
Definition: AppInitializer.java:109
Logger log
Definition: AppInitializer.java:82
ApplicationFactory applicationFactory
Definition: AppInitializer.java:103
ConfigurationFactory configurationFactory
Definition: AppInitializer.java:121
PersistenceConfiguration getPersistenceConfiguration()
Definition: ConfigurationFactory.java:247
final FileConfiguration getConfiguration()
Definition: ConfigurationFactory.java:661

◆ destroy()

void org.xdi.oxauth.service.AppInitializer.destroy ( @Observes @BeforeDestroyed(ApplicationScoped.class) ServletContext  init)
inline
538  {
539  log.info("Closing LDAP connection at server shutdown...");
540  PersistenceEntryManager persistenceEntryManager = persistenceEntryManagerInstance.get();
541  closePersistenceEntryManager(persistenceEntryManager);
542 
543  List<PersistenceEntryManager> persistenceAuthEntryManagers = persistenceAuthEntryManagerInstance.get();
544  closePersistenceEntryManagers(persistenceAuthEntryManagers);
545  }
Instance< PersistenceEntryManager > persistenceEntryManagerInstance
Definition: AppInitializer.java:94
Logger log
Definition: AppInitializer.java:82
void closePersistenceEntryManager(PersistenceEntryManager oldPersistenceEntryManager)
Definition: AppInitializer.java:324
Instance< List< PersistenceEntryManager > > persistenceAuthEntryManagerInstance
Definition: AppInitializer.java:97
void closePersistenceEntryManagers(List< PersistenceEntryManager > oldPersistenceEntryManagers)
Definition: AppInitializer.java:331

◆ getActualDefaultAuthenticationMethod()

String org.xdi.oxauth.service.AppInitializer.getActualDefaultAuthenticationMethod ( PersistenceEntryManager  localPersistenceEntryManager)
inlineprivate
446  {
447  GluuAppliance appliance = loadAppliance(localPersistenceEntryManager, "oxAuthenticationMode");
448 
449  if (appliance == null) {
450  return null;
451  }
452 
453  return appliance.getAuthenticationMode();
454  }
GluuAppliance loadAppliance(PersistenceEntryManager localPersistenceEntryManager, String ... persistenceReturnAttributes)
Definition: AppInitializer.java:461

◆ getDefaultAuthenticationMode()

AuthenticationMode org.xdi.oxauth.service.AppInitializer.getDefaultAuthenticationMode ( )
inline
457  {
458  return authenticationMode;
459  }
AuthenticationMode authenticationMode
Definition: AppInitializer.java:146

◆ getStringEncrypter()

StringEncrypter org.xdi.oxauth.service.AppInitializer.getStringEncrypter ( )
inline
200  {
201  String encodeSalt = configurationFactory.getCryptoConfigurationSalt();
202 
203  if (StringHelper.isEmpty(encodeSalt)) {
204  throw new ConfigurationException("Encode salt isn't defined");
205  }
206 
207  try {
208  StringEncrypter stringEncrypter = StringEncrypter.instance(encodeSalt);
209 
210  return stringEncrypter;
211  } catch (EncryptionException ex) {
212  throw new ConfigurationException("Failed to create StringEncrypter instance");
213  }
214  }
String getCryptoConfigurationSalt()
Definition: ConfigurationFactory.java:279
ConfigurationFactory configurationFactory
Definition: AppInitializer.java:121

◆ initSchedulerService()

void org.xdi.oxauth.service.AppInitializer.initSchedulerService ( )
inlineprotected
188  {
189  quartzSchedulerManager.start();
190 
191  String disableScheduler = System.getProperties().getProperty("gluu.disable.scheduler");
192  if ((disableScheduler != null) && Boolean.valueOf(disableScheduler)) {
193  this.log.warn("Suspending Quartz Scheduler Service...");
194  quartzSchedulerManager.standby();
195  return;
196  }
197  }
QuartzSchedulerManager quartzSchedulerManager
Definition: AppInitializer.java:136
Logger log
Definition: AppInitializer.java:82

◆ initTimer()

void org.xdi.oxauth.service.AppInitializer.initTimer ( )
inline
216  {
217  this.isActive = new AtomicBoolean(false);
218  this.lastFinishedTime = System.currentTimeMillis();
219 
220  timerEvent.fire(new TimerEvent(new TimerSchedule(60, DEFAULT_INTERVAL), new AuthConfigurationEvent(),
221  Scheduled.Literal.INSTANCE));
222  }
long lastFinishedTime
Definition: AppInitializer.java:145
Event< TimerEvent > timerEvent
Definition: AppInitializer.java:91
AtomicBoolean isActive
Definition: AppInitializer.java:144
static final int DEFAULT_INTERVAL
Definition: AppInitializer.java:79

◆ loadAppliance()

GluuAppliance org.xdi.oxauth.service.AppInitializer.loadAppliance ( PersistenceEntryManager  localPersistenceEntryManager,
String ...  persistenceReturnAttributes 
)
inlineprivate
461  {
462  String baseDn = configurationFactory.getBaseDn().getAppliance();
463  String applianceInum = configurationFactory.getAppConfiguration().getApplianceInum();
464  if (StringHelper.isEmpty(baseDn) || StringHelper.isEmpty(applianceInum)) {
465  return null;
466  }
467 
468  String applianceDn = String.format("inum=%s,%s", applianceInum, baseDn);
469 
470  GluuAppliance appliance = null;
471  try {
472  appliance = localPersistenceEntryManager.find(GluuAppliance.class, applianceDn, persistenceReturnAttributes);
473  } catch (BasePersistenceException ex) {
474  log.error("Failed to load appliance entry from Ldap", ex);
475  return null;
476  }
477 
478  return appliance;
479  }
Logger log
Definition: AppInitializer.java:82
String getApplianceInum()
Definition: AppConfiguration.java:1017
ConfigurationFactory configurationFactory
Definition: AppInitializer.java:121
AppConfiguration getAppConfiguration()
Definition: ConfigurationFactory.java:253
BaseDnConfiguration getBaseDn()
Definition: ConfigurationFactory.java:275
String getAppliance()
Definition: BaseDnConfiguration.java:69

◆ loadLdapIdpAuthConfigs()

List<oxIDPAuthConf> org.xdi.oxauth.service.AppInitializer.loadLdapIdpAuthConfigs ( PersistenceEntryManager  localPersistenceEntryManager)
inlineprivate
499  {
500  GluuAppliance appliance = loadAppliance(localPersistenceEntryManager, "oxIDPAuthentication");
501 
502  if ((appliance == null) || (appliance.getOxIDPAuthentication() == null)) {
503  return null;
504  }
505 
506  List<oxIDPAuthConf> configurations = new ArrayList<oxIDPAuthConf>();
507  for (String configurationJson : appliance.getOxIDPAuthentication()) {
508 
509  try {
510  oxIDPAuthConf configuration = jsonService.jsonToObject(configurationJson, oxIDPAuthConf.class);
511  if (configuration.getType().equalsIgnoreCase("ldap") || configuration.getType().equalsIgnoreCase("auth")) {
512  configurations.add(configuration);
513  }
514  } catch (Exception ex) {
515  log.error("Failed to create object by json: '{}'", configurationJson, ex);
516  }
517  }
518 
519  return configurations;
520  }
Logger log
Definition: AppInitializer.java:82
JsonService jsonService
Definition: AppInitializer.java:142
GluuAppliance loadAppliance(PersistenceEntryManager localPersistenceEntryManager, String ... persistenceReturnAttributes)
Definition: AppInitializer.java:461

◆ loadPersistenceAuthConfig()

GluuLdapConfiguration org.xdi.oxauth.service.AppInitializer.loadPersistenceAuthConfig ( oxIDPAuthConf  configuration)
inlineprivate
522  {
523  if (configuration == null) {
524  return null;
525  }
526 
527  try {
528  if (configuration.getType().equalsIgnoreCase("auth")) {
529  return jsonService.jsonToObject(configuration.getConfig(), GluuLdapConfiguration.class);
530  }
531  } catch (Exception ex) {
532  log.error("Failed to create object by oxIDPAuthConf: '{}'", configuration, ex);
533  }
534 
535  return null;
536  }
Logger log
Definition: AppInitializer.java:82
JsonService jsonService
Definition: AppInitializer.java:142

◆ loadPersistenceAuthConfigs()

List<GluuLdapConfiguration> org.xdi.oxauth.service.AppInitializer.loadPersistenceAuthConfigs ( PersistenceEntryManager  localPersistenceEntryManager)
inlineprivate
481  {
482  List<GluuLdapConfiguration> persistenceAuthConfigs = new ArrayList<GluuLdapConfiguration>();
483 
484  List<oxIDPAuthConf> persistenceIdpAuthConfigs = loadLdapIdpAuthConfigs(localPersistenceEntryManager);
485  if (persistenceIdpAuthConfigs == null) {
486  return persistenceAuthConfigs;
487  }
488 
489  for (oxIDPAuthConf persistenceIdpAuthConfig : persistenceIdpAuthConfigs) {
490  GluuLdapConfiguration persistenceAuthConfig = loadPersistenceAuthConfig(persistenceIdpAuthConfig);
491  if ((persistenceAuthConfig != null) && persistenceAuthConfig.isEnabled()) {
492  persistenceAuthConfigs.add(persistenceAuthConfig);
493  }
494  }
495 
496  return persistenceAuthConfigs;
497  }
List< GluuLdapConfiguration > persistenceAuthConfigs
Definition: AppInitializer.java:148
List< oxIDPAuthConf > loadLdapIdpAuthConfigs(PersistenceEntryManager localPersistenceEntryManager)
Definition: AppInitializer.java:499
GluuLdapConfiguration loadPersistenceAuthConfig(oxIDPAuthConf configuration)
Definition: AppInitializer.java:522

◆ prepareAuthConnectionProperties() [1/2]

List<Properties> org.xdi.oxauth.service.AppInitializer.prepareAuthConnectionProperties ( List< GluuLdapConfiguration >  persistenceAuthConfigs)
inlineprivate
368  {
369  List<Properties> result = new ArrayList<Properties>();
370 
371  // Prepare connection providers per LDAP authentication configuration
372  for (GluuLdapConfiguration persistenceAuthConfig : persistenceAuthConfigs) {
373  Properties decrypytedConnectionProperties = prepareAuthConnectionProperties(persistenceAuthConfig);
374 
375  result.add(decrypytedConnectionProperties);
376  }
377 
378  return result;
379  }
List< Properties > prepareAuthConnectionProperties(List< GluuLdapConfiguration > persistenceAuthConfigs)
Definition: AppInitializer.java:368
List< GluuLdapConfiguration > persistenceAuthConfigs
Definition: AppInitializer.java:148

◆ prepareAuthConnectionProperties() [2/2]

Properties org.xdi.oxauth.service.AppInitializer.prepareAuthConnectionProperties ( GluuLdapConfiguration  persistenceAuthConfig)
inlineprivate
381  {
382  FileConfiguration configuration = configurationFactory.getPersistenceConfiguration().getConfiguration();
383 
384  Properties properties = (Properties) configuration.getProperties().clone();
385  if (persistenceAuthConfig != null) {
386  properties.setProperty("servers", buildServersString(persistenceAuthConfig.getServers()));
387 
388  String bindDn = persistenceAuthConfig.getBindDN();
389  if (StringHelper.isNotEmpty(bindDn)) {
390  properties.setProperty("bindDN", bindDn);
391  properties.setProperty("bindPassword", persistenceAuthConfig.getBindPassword());
392  }
393  properties.setProperty("useSSL", Boolean.toString(persistenceAuthConfig.isUseSSL()));
394  properties.setProperty("maxconnections", Integer.toString(persistenceAuthConfig.getMaxConnections()));
395  }
396 
397  EncryptionService securityService = encryptionServiceInstance.get();
398  Properties decrypytedProperties = securityService.decryptAllProperties(properties);
399 
400  return decrypytedProperties;
401  }
Instance< EncryptionService > encryptionServiceInstance
Definition: AppInitializer.java:109
String buildServersString(List<?> servers)
Definition: AppInitializer.java:403
ConfigurationFactory configurationFactory
Definition: AppInitializer.java:121
PersistenceConfiguration getPersistenceConfiguration()
Definition: ConfigurationFactory.java:247
final FileConfiguration getConfiguration()
Definition: ConfigurationFactory.java:661

◆ recreatePersistenceAuthEntryManagers()

void org.xdi.oxauth.service.AppInitializer.recreatePersistenceAuthEntryManagers ( List< GluuLdapConfiguration >  newPersistenceAuthConfigs)
inline
340  {
341  // Get existing application scoped instance
342  List<PersistenceEntryManager> oldPersistenceAuthEntryManagers = CdiUtil.getContextBean(beanManager,
343  new ParameterizedTypeImpl(List.class, PersistenceEntryManager.class), ApplicationFactory.PERSISTENCE_AUTH_ENTRY_MANAGER_NAME);
344 
345  // Recreate components
346  this.persistenceAuthConfigs = newPersistenceAuthConfigs;
347 
348  // Close existing connections
349  closePersistenceEntryManagers(oldPersistenceAuthEntryManagers);
350 
351  // Destroy old Ldap auth entry managers
352  for (PersistenceEntryManager oldPersistenceAuthEntryManager : oldPersistenceAuthEntryManagers) {
353  log.debug("Attempting to destroy {}: {}", ApplicationFactory.PERSISTENCE_AUTH_ENTRY_MANAGER_NAME, oldPersistenceAuthEntryManager);
354  oldPersistenceAuthEntryManager.destroy();
355  log.debug("Destroyed {}: {}", ApplicationFactory.PERSISTENCE_AUTH_ENTRY_MANAGER_NAME, oldPersistenceAuthEntryManager);
356  }
357 
358  // Force to create new Ldap auth entry managers bean
359  List<PersistenceEntryManager> persistenceAuthEntryManagers = persistenceAuthEntryManagerInstance.get();
360  persistenceAuthEntryManagerInstance.destroy(persistenceAuthEntryManagers);
361  log.info("Recreated instance {}: {}", ApplicationFactory.PERSISTENCE_AUTH_ENTRY_MANAGER_NAME, persistenceAuthEntryManagers);
362 
363  // Force to create new auth configuration bean
364  List<GluuLdapConfiguration> oldPersistenceAuthConfigs = persistenceAuthConfigInstance.get();
365  persistenceAuthConfigInstance.destroy(oldPersistenceAuthConfigs);
366  }
List< GluuLdapConfiguration > persistenceAuthConfigs
Definition: AppInitializer.java:148
Instance< List< GluuLdapConfiguration > > persistenceAuthConfigInstance
Definition: AppInitializer.java:100
Logger log
Definition: AppInitializer.java:82
Instance< List< PersistenceEntryManager > > persistenceAuthEntryManagerInstance
Definition: AppInitializer.java:97
void closePersistenceEntryManagers(List< PersistenceEntryManager > oldPersistenceEntryManagers)
Definition: AppInitializer.java:331
BeanManager beanManager
Definition: AppInitializer.java:85

◆ recreatePersistenceEntryManager()

void org.xdi.oxauth.service.AppInitializer.recreatePersistenceEntryManager ( @Observes @LdapConfigurationReload String  event)
inline
311  {
312  // Get existing application scoped instance
313  PersistenceEntryManager oldPersistenceEntryManager = CdiUtil.getContextBean(beanManager, PersistenceEntryManager.class, ApplicationFactory.PERSISTENCE_ENTRY_MANAGER_NAME);
314 
315  // Close existing connections
316  closePersistenceEntryManager(oldPersistenceEntryManager);
317 
318  // Force to create new bean
319  PersistenceEntryManager persistenceEntryManager = persistenceEntryManagerInstance.get();
320  persistenceEntryManagerInstance.destroy(persistenceEntryManager);
321  log.info("Recreated instance {}: {}", ApplicationFactory.PERSISTENCE_ENTRY_MANAGER_NAME, persistenceEntryManager);
322  }
Instance< PersistenceEntryManager > persistenceEntryManagerInstance
Definition: AppInitializer.java:94
Logger log
Definition: AppInitializer.java:82
void closePersistenceEntryManager(PersistenceEntryManager oldPersistenceEntryManager)
Definition: AppInitializer.java:324
BeanManager beanManager
Definition: AppInitializer.java:85

◆ reloadConfiguration()

void org.xdi.oxauth.service.AppInitializer.reloadConfiguration ( )
inlineprivate
244  {
245  PersistenceEntryManager localPersistenceEntryManager = persistenceEntryManagerInstance.get();
246 
247  log.trace("Attempting to use {}: {}", ApplicationFactory.PERSISTENCE_ENTRY_MANAGER_NAME, localPersistenceEntryManager.getOperationService());
248  List<GluuLdapConfiguration> newPersistenceAuthConfigs = loadPersistenceAuthConfigs(localPersistenceEntryManager);
249 
250  if (!this.persistenceAuthConfigs.equals(newPersistenceAuthConfigs)) {
251  recreatePersistenceAuthEntryManagers(newPersistenceAuthConfigs);
252  this.persistenceAuthConfigs = newPersistenceAuthConfigs;
253 
254  event.select(ReloadAuthScript.Literal.INSTANCE).fire(ExternalAuthenticationService.MODIFIED_INTERNAL_TYPES_EVENT_TYPE);
255  }
256 
257  setDefaultAuthenticationMethod(localPersistenceEntryManager);
258  }
Instance< PersistenceEntryManager > persistenceEntryManagerInstance
Definition: AppInitializer.java:94
List< GluuLdapConfiguration > loadPersistenceAuthConfigs(PersistenceEntryManager localPersistenceEntryManager)
Definition: AppInitializer.java:481
List< GluuLdapConfiguration > persistenceAuthConfigs
Definition: AppInitializer.java:148
Logger log
Definition: AppInitializer.java:82
void setDefaultAuthenticationMethod(PersistenceEntryManager localPersistenceEntryManager)
Definition: AppInitializer.java:428
void recreatePersistenceAuthEntryManagers(List< GluuLdapConfiguration > newPersistenceAuthConfigs)
Definition: AppInitializer.java:340

◆ reloadConfigurationTimerEvent()

void org.xdi.oxauth.service.AppInitializer.reloadConfigurationTimerEvent ( @Observes @Scheduled AuthConfigurationEvent  authConfigurationEvent)
inline
225  {
226  if (this.isActive.get()) {
227  return;
228  }
229 
230  if (!this.isActive.compareAndSet(false, true)) {
231  return;
232  }
233 
234  try {
236  } catch (Throwable ex) {
237  log.error("Exception happened while reloading application configuration", ex);
238  } finally {
239  this.isActive.set(false);
240  this.lastFinishedTime = System.currentTimeMillis();
241  }
242  }
long lastFinishedTime
Definition: AppInitializer.java:145
void reloadConfiguration()
Definition: AppInitializer.java:244
Logger log
Definition: AppInitializer.java:82
AtomicBoolean isActive
Definition: AppInitializer.java:144

◆ setDefaultAuthenticationMethod()

void org.xdi.oxauth.service.AppInitializer.setDefaultAuthenticationMethod ( PersistenceEntryManager  localPersistenceEntryManager)
inlineprivate
428  {
429  String currentAuthMethod = null;
430  if (this.authenticationMode != null) {
431  currentAuthMethod = this.authenticationMode.getName();
432  }
433 
434  String actualAuthMethod = getActualDefaultAuthenticationMethod(localPersistenceEntryManager);
435 
436  if (!StringHelper.equals(currentAuthMethod, actualAuthMethod)) {
437  authenticationMode = null;
438  if (actualAuthMethod != null) {
439  this.authenticationMode = new AuthenticationMode(actualAuthMethod);
440  }
441 
443  }
444  }
Instance< AuthenticationMode > authenticationModeInstance
Definition: AppInitializer.java:106
String getActualDefaultAuthenticationMethod(PersistenceEntryManager localPersistenceEntryManager)
Definition: AppInitializer.java:446
AuthenticationMode authenticationMode
Definition: AppInitializer.java:146
String getName()
Definition: AuthenticationMode.java:24

メンバ詳解

◆ applicationFactory

ApplicationFactory org.xdi.oxauth.service.AppInitializer.applicationFactory
private

◆ authenticationMode

AuthenticationMode org.xdi.oxauth.service.AppInitializer.authenticationMode
private

◆ authenticationModeInstance

Instance<AuthenticationMode> org.xdi.oxauth.service.AppInitializer.authenticationModeInstance
private

◆ beanManager

BeanManager org.xdi.oxauth.service.AppInitializer.beanManager
private

◆ cleanerTimer

CleanerTimer org.xdi.oxauth.service.AppInitializer.cleanerTimer
private

◆ configurationFactory

ConfigurationFactory org.xdi.oxauth.service.AppInitializer.configurationFactory
private

◆ customLibrariesLoader

CustomLibrariesLoader org.xdi.oxauth.service.AppInitializer.customLibrariesLoader
private

◆ customScriptManager

CustomScriptManager org.xdi.oxauth.service.AppInitializer.customScriptManager
private

◆ DEFAULT_INTERVAL

final int org.xdi.oxauth.service.AppInitializer.DEFAULT_INTERVAL = 30
staticprivate

◆ encryptionServiceInstance

Instance<EncryptionService> org.xdi.oxauth.service.AppInitializer.encryptionServiceInstance
private

◆ event

Event<String> org.xdi.oxauth.service.AppInitializer.event
private

◆ EVENT_TYPE

final String org.xdi.oxauth.service.AppInitializer.EVENT_TYPE = "AppInitializerTimerEvent"
staticprivate

◆ isActive

AtomicBoolean org.xdi.oxauth.service.AppInitializer.isActive
private

◆ jsonService

JsonService org.xdi.oxauth.service.AppInitializer.jsonService
private

◆ keyGeneratorTimer

KeyGeneratorTimer org.xdi.oxauth.service.AppInitializer.keyGeneratorTimer
private

◆ lastFinishedTime

long org.xdi.oxauth.service.AppInitializer.lastFinishedTime
private

◆ ldapStatusTimer

LdapStatusTimer org.xdi.oxauth.service.AppInitializer.ldapStatusTimer
private

◆ log

Logger org.xdi.oxauth.service.AppInitializer.log
private

◆ loggerService

LoggerService org.xdi.oxauth.service.AppInitializer.loggerService
private

◆ metricService

MetricService org.xdi.oxauth.service.AppInitializer.metricService
private

◆ persistenceAuthConfigInstance

Instance<List<GluuLdapConfiguration> > org.xdi.oxauth.service.AppInitializer.persistenceAuthConfigInstance
private

◆ persistenceAuthConfigs

List<GluuLdapConfiguration> org.xdi.oxauth.service.AppInitializer.persistenceAuthConfigs
private

◆ persistenceAuthEntryManagerInstance

Instance<List<PersistenceEntryManager> > org.xdi.oxauth.service.AppInitializer.persistenceAuthEntryManagerInstance
private

◆ persistenceEntryManagerInstance

Instance<PersistenceEntryManager> org.xdi.oxauth.service.AppInitializer.persistenceEntryManagerInstance
private

◆ pythonService

PythonService org.xdi.oxauth.service.AppInitializer.pythonService
private

◆ quartzSchedulerManager

QuartzSchedulerManager org.xdi.oxauth.service.AppInitializer.quartzSchedulerManager
private

◆ timerEvent

Event<TimerEvent> org.xdi.oxauth.service.AppInitializer.timerEvent
private

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