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

公開メンバ関数

 ExternalAuthenticationService ()
 
void reloadAuthScript (@Observes @ReloadAuthScript String event)
 
int executeExternalGetCountAuthenticationSteps (CustomScriptConfiguration customScriptConfiguration)
 
boolean executeExternalAuthenticate (CustomScriptConfiguration customScriptConfiguration, Map< String, String[]> requestParameters, int step)
 
int getNextStep (CustomScriptConfiguration customScriptConfiguration, Map< String, String[]> requestParameters, int step)
 
boolean executeExternalLogout (CustomScriptConfiguration customScriptConfiguration, Map< String, String[]> requestParameters)
 
String getLogoutExternalUrl (CustomScriptConfiguration customScriptConfiguration, Map< String, String[]> requestParameters)
 
boolean executeExternalPrepareForStep (CustomScriptConfiguration customScriptConfiguration, Map< String, String[]> requestParameters, int step)
 
List< String > executeExternalGetExtraParametersForStep (CustomScriptConfiguration customScriptConfiguration, int step)
 
String executeExternalGetPageForStep (CustomScriptConfiguration customScriptConfiguration, int step)
 
int executeExternalGetApiVersion (CustomScriptConfiguration customScriptConfiguration)
 
boolean isEnabled (AuthenticationScriptUsageType usageType)
 
CustomScriptConfiguration getExternalAuthenticatorByAuthLevel (AuthenticationScriptUsageType usageType, int authLevel)
 
CustomScriptConfiguration determineCustomScriptConfiguration (AuthenticationScriptUsageType usageType, int authStep, String acr)
 
CustomScriptConfiguration determineCustomScriptConfiguration (AuthenticationScriptUsageType usageType, List< String > acrValues)
 
List< String > getAuthModesByAcrValues (List< String > acrValues)
 
CustomScriptConfiguration determineExternalAuthenticatorForWorkflow (AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration)
 
CustomScriptConfiguration getDefaultExternalAuthenticator (AuthenticationScriptUsageType usageType)
 
CustomScriptConfiguration getCustomScriptConfiguration (AuthenticationScriptUsageType usageType, String name)
 
CustomScriptConfiguration getCustomScriptConfigurationByName (String name)
 
List< CustomScriptConfiguration > getCustomScriptConfigurationsMap ()
 
List< String > getAcrValuesList ()
 
Map< Integer, Set< String > > levelToAcrMapping ()
 
Map< String, Integer > acrToLevelMapping ()
 

静的公開変数類

static final String MODIFIED_INTERNAL_TYPES_EVENT_TYPE = "CustomScriptModifiedInternlTypesEvent"
 

限定公開メンバ関数

void reloadExternal ()
 
void addExternalConfigurations (List< CustomScriptConfiguration > newCustomScriptConfigurations)
 

非公開メンバ関数

Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > groupCustomScriptConfigurationsMapByUsageType (Map< String, CustomScriptConfiguration > customScriptConfigurationsMap)
 
Map< AuthenticationScriptUsageType, CustomScriptConfiguration > determineDefaultCustomScriptConfigurationsMap (Map< String, CustomScriptConfiguration > customScriptConfigurationsMap)
 
boolean executeExternalIsValidAuthenticationMethod (AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration)
 
String executeExternalGetAlternativeAuthenticationMethod (AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration)
 
boolean isValidateUsageType (AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration)
 
CustomScriptConfiguration getInternalCustomScriptConfiguration (GluuLdapConfiguration ldapAuthConfig)
 
CustomScriptConfiguration getInternalCustomScriptConfiguration ()
 

非公開変数類

List< GluuLdapConfiguration > ldapAuthConfigs
 
InternalDefaultPersonAuthenticationType internalDefaultPersonAuthenticationType
 
Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > customScriptConfigurationsMapByUsageType
 
Map< AuthenticationScriptUsageType, CustomScriptConfiguration > defaultExternalAuthenticators
 

静的非公開変数類

static final long serialVersionUID = 7339887464253044927L
 

詳解

Provides factory methods needed to create external authenticator

著者
Yuriy Movchan Date: 21/08/2012

構築子と解体子

◆ ExternalAuthenticationService()

org.xdi.oxauth.service.external.ExternalAuthenticationService.ExternalAuthenticationService ( )
inline
61  {
62  super(CustomScriptType.PERSON_AUTHENTICATION);
63  }

関数詳解

◆ acrToLevelMapping()

Map<String, Integer> org.xdi.oxauth.service.external.ExternalAuthenticationService.acrToLevelMapping ( )
inline
472  {
473  Map<String, Integer> map = Maps.newHashMap();
474  for (CustomScriptConfiguration script : getCustomScriptConfigurationsMap()) {
475  if (script.getCustomScript().isInternal()) {
476  map.put(script.getName(), -1);
477  continue;
478  }
479  map.put(script.getName(), script.getLevel());
480  }
481  return map;
482  }
List< CustomScriptConfiguration > getCustomScriptConfigurationsMap()
Definition: ExternalAuthenticationService.java:410

◆ addExternalConfigurations()

void org.xdi.oxauth.service.external.ExternalAuthenticationService.addExternalConfigurations ( List< CustomScriptConfiguration >  newCustomScriptConfigurations)
inlineprotected
79  {
80  if ((ldapAuthConfigs == null) || (ldapAuthConfigs.size() == 0)) {
81  newCustomScriptConfigurations.add(getInternalCustomScriptConfiguration());
82  } else {
83  for (GluuLdapConfiguration ldapAuthConfig : ldapAuthConfigs) {
84  newCustomScriptConfigurations.add(getInternalCustomScriptConfiguration(ldapAuthConfig));
85  }
86  }
87  }
List< GluuLdapConfiguration > ldapAuthConfigs
Definition: ExternalAuthenticationService.java:51
CustomScriptConfiguration getInternalCustomScriptConfiguration()
Definition: ExternalAuthenticationService.java:491

◆ determineCustomScriptConfiguration() [1/2]

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.determineCustomScriptConfiguration ( AuthenticationScriptUsageType  usageType,
int  authStep,
String  acr 
)
inline
301  {
302  CustomScriptConfiguration customScriptConfiguration;
303  if (authStep == 1) {
304  if (StringHelper.isNotEmpty(acr)) {
305  customScriptConfiguration = getCustomScriptConfiguration(usageType, acr);
306  } else {
307  customScriptConfiguration = getDefaultExternalAuthenticator(usageType);
308  }
309  } else {
310  customScriptConfiguration = getCustomScriptConfiguration(usageType, acr);
311  }
312 
313  return customScriptConfiguration;
314  }
CustomScriptConfiguration getCustomScriptConfiguration(AuthenticationScriptUsageType usageType, String name)
Definition: ExternalAuthenticationService.java:390
CustomScriptConfiguration getDefaultExternalAuthenticator(AuthenticationScriptUsageType usageType)
Definition: ExternalAuthenticationService.java:386

◆ determineCustomScriptConfiguration() [2/2]

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.determineCustomScriptConfiguration ( AuthenticationScriptUsageType  usageType,
List< String >  acrValues 
)
inline
316  {
317  List<String> authModes = getAuthModesByAcrValues(acrValues);
318 
319  if (authModes.size() > 0) {
320  for (String authMode : authModes) {
321  for (CustomScriptConfiguration customScriptConfiguration : this.customScriptConfigurationsMapByUsageType.get(usageType)) {
322  if (StringHelper.equalsIgnoreCase(authMode, customScriptConfiguration.getName())) {
323  return customScriptConfiguration;
324  }
325  }
326  }
327  }
328 
329  return null;
330  }
Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > customScriptConfigurationsMapByUsageType
Definition: ExternalAuthenticationService.java:58
List< String > getAuthModesByAcrValues(List< String > acrValues)
Definition: ExternalAuthenticationService.java:332

◆ determineDefaultCustomScriptConfigurationsMap()

Map<AuthenticationScriptUsageType, CustomScriptConfiguration> org.xdi.oxauth.service.external.ExternalAuthenticationService.determineDefaultCustomScriptConfigurationsMap ( Map< String, CustomScriptConfiguration >  customScriptConfigurationsMap)
inlineprivate
108  {
109  Map<AuthenticationScriptUsageType, CustomScriptConfiguration> newDefaultCustomScriptConfigurationsMap = new HashMap<AuthenticationScriptUsageType, CustomScriptConfiguration>();
110 
111  for (AuthenticationScriptUsageType usageType : AuthenticationScriptUsageType.values()) {
112  CustomScriptConfiguration defaultExternalAuthenticator = null;
113  for (CustomScriptConfiguration customScriptConfiguration : customScriptConfigurationsMapByUsageType.get(usageType)) {
114  // Determine default authenticator
115  if ((defaultExternalAuthenticator == null) ||
116  (defaultExternalAuthenticator.getLevel() < customScriptConfiguration.getLevel())) {
117  defaultExternalAuthenticator = customScriptConfiguration;
118  }
119  }
120 
121  newDefaultCustomScriptConfigurationsMap.put(usageType, defaultExternalAuthenticator);
122  }
123 
124  return newDefaultCustomScriptConfigurationsMap;
125  }
Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > customScriptConfigurationsMapByUsageType
Definition: ExternalAuthenticationService.java:58

◆ determineExternalAuthenticatorForWorkflow()

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.determineExternalAuthenticatorForWorkflow ( AuthenticationScriptUsageType  usageType,
CustomScriptConfiguration  customScriptConfiguration 
)
inline
360  {
361  String authMode = customScriptConfiguration.getName();
362  log.debug("Validating acr_values: '{}'", authMode);
363 
364  boolean isValidAuthenticationMethod = executeExternalIsValidAuthenticationMethod(usageType, customScriptConfiguration);
365  if (!isValidAuthenticationMethod) {
366  log.warn("Current acr_values: '{}' isn't valid", authMode);
367 
368  String alternativeAuthenticationMethod = executeExternalGetAlternativeAuthenticationMethod(usageType, customScriptConfiguration);
369  if (StringHelper.isEmpty(alternativeAuthenticationMethod)) {
370  log.error("Failed to determine alternative authentication mode for acr_values: '{}'", authMode);
371  return null;
372  } else {
373  CustomScriptConfiguration alternativeCustomScriptConfiguration = getCustomScriptConfiguration(AuthenticationScriptUsageType.INTERACTIVE, alternativeAuthenticationMethod);
374  if (alternativeCustomScriptConfiguration == null) {
375  log.error("Failed to get alternative CustomScriptConfiguration '{}' for acr_values: '{}'", alternativeAuthenticationMethod, authMode);
376  return null;
377  } else {
378  return alternativeCustomScriptConfiguration;
379  }
380  }
381  }
382 
383  return customScriptConfiguration;
384  }
CustomScriptConfiguration getCustomScriptConfiguration(AuthenticationScriptUsageType usageType, String name)
Definition: ExternalAuthenticationService.java:390
String executeExternalGetAlternativeAuthenticationMethod(AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration)
Definition: ExternalAuthenticationService.java:141
boolean executeExternalIsValidAuthenticationMethod(AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration)
Definition: ExternalAuthenticationService.java:127

◆ executeExternalAuthenticate()

boolean org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalAuthenticate ( CustomScriptConfiguration  customScriptConfiguration,
Map< String, String[]>  requestParameters,
int  step 
)
inline
169  {
170  try {
171  log.debug("Executing python 'authenticate' authenticator method");
172  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
173  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
174  return externalAuthenticator.authenticate(configurationAttributes, requestParameters, step);
175  } catch (Exception ex) {
176  log.error(ex.getMessage(), ex);
177  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
178  }
179 
180  return false;
181  }

◆ executeExternalGetAlternativeAuthenticationMethod()

String org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalGetAlternativeAuthenticationMethod ( AuthenticationScriptUsageType  usageType,
CustomScriptConfiguration  customScriptConfiguration 
)
inlineprivate
141  {
142  try {
143  log.debug("Executing python 'getAlternativeAuthenticationMethod' authenticator method");
144  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
145  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
146  return externalAuthenticator.getAlternativeAuthenticationMethod(usageType, configurationAttributes);
147  } catch (Exception ex) {
148  log.error(ex.getMessage(), ex);
149  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
150  }
151 
152  return null;
153  }

◆ executeExternalGetApiVersion()

int org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalGetApiVersion ( CustomScriptConfiguration  customScriptConfiguration)
inline
267  {
268  try {
269  log.debug("Executing python 'getApiVersion' authenticator method");
270  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
271  return externalAuthenticator.getApiVersion();
272  } catch (Exception ex) {
273  log.error(ex.getMessage(), ex);
274  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
275  }
276 
277  return -1;
278  }

◆ executeExternalGetCountAuthenticationSteps()

int org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalGetCountAuthenticationSteps ( CustomScriptConfiguration  customScriptConfiguration)
inline
155  {
156  try {
157  log.debug("Executing python 'getCountAuthenticationSteps' authenticator method");
158  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
159  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
160  return externalAuthenticator.getCountAuthenticationSteps(configurationAttributes);
161  } catch (Exception ex) {
162  log.error(ex.getMessage(), ex);
163  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
164  }
165 
166  return -1;
167  }

◆ executeExternalGetExtraParametersForStep()

List<String> org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalGetExtraParametersForStep ( CustomScriptConfiguration  customScriptConfiguration,
int  step 
)
inline
239  {
240  try {
241  log.debug("Executing python 'getExtraParametersForStep' authenticator method");
242  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
243  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
244  return externalAuthenticator.getExtraParametersForStep(configurationAttributes, step);
245  } catch (Exception ex) {
246  log.error(ex.getMessage(), ex);
247  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
248  }
249 
250  return null;
251  }

◆ executeExternalGetPageForStep()

String org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalGetPageForStep ( CustomScriptConfiguration  customScriptConfiguration,
int  step 
)
inline
253  {
254  try {
255  log.debug("Executing python 'getPageForStep' authenticator method");
256  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
257  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
258  return externalAuthenticator.getPageForStep(configurationAttributes, step);
259  } catch (Exception ex) {
260  log.error(ex.getMessage(), ex);
261  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
262  }
263 
264  return null;
265  }

◆ executeExternalIsValidAuthenticationMethod()

boolean org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalIsValidAuthenticationMethod ( AuthenticationScriptUsageType  usageType,
CustomScriptConfiguration  customScriptConfiguration 
)
inlineprivate
127  {
128  try {
129  log.debug("Executing python 'isValidAuthenticationMethod' authenticator method");
130  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
131  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
132  return externalAuthenticator.isValidAuthenticationMethod(usageType, configurationAttributes);
133  } catch (Exception ex) {
134  log.error(ex.getMessage(), ex);
135  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
136  }
137 
138  return false;
139  }

◆ executeExternalLogout()

boolean org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalLogout ( CustomScriptConfiguration  customScriptConfiguration,
Map< String, String[]>  requestParameters 
)
inline
197  {
198  try {
199  log.debug("Executing python 'logout' authenticator method");
200  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
201  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
202  return externalAuthenticator.logout(configurationAttributes, requestParameters);
203  } catch (Exception ex) {
204  log.error(ex.getMessage(), ex);
205  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
206  }
207 
208  return false;
209  }

◆ executeExternalPrepareForStep()

boolean org.xdi.oxauth.service.external.ExternalAuthenticationService.executeExternalPrepareForStep ( CustomScriptConfiguration  customScriptConfiguration,
Map< String, String[]>  requestParameters,
int  step 
)
inline
225  {
226  try {
227  log.debug("Executing python 'prepareForStep' authenticator method");
228  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
229  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
230  return externalAuthenticator.prepareForStep(configurationAttributes, requestParameters, step);
231  } catch (Exception ex) {
232  log.error(ex.getMessage(), ex);
233  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
234  }
235 
236  return false;
237  }

◆ getAcrValuesList()

List<String> org.xdi.oxauth.service.external.ExternalAuthenticationService.getAcrValuesList ( )
inline
419  {
420  List<String> acrValues = new ArrayList<String>();
421 
422  for (CustomScriptConfiguration configuration : getCustomScriptConfigurationsMap()) {
423  acrValues.add(configuration.getName());
424  }
425 
426  return acrValues;
427  }
List< CustomScriptConfiguration > getCustomScriptConfigurationsMap()
Definition: ExternalAuthenticationService.java:410

◆ getAuthModesByAcrValues()

List<String> org.xdi.oxauth.service.external.ExternalAuthenticationService.getAuthModesByAcrValues ( List< String >  acrValues)
inline
332  {
333  List<String> authModes = new ArrayList<String>();
334 
335  for (String acrValue : acrValues) {
336  if (StringHelper.isNotEmpty(acrValue)) {
337  String customScriptName = StringHelper.toLowerCase(acrValue);
338  if (customScriptConfigurationsNameMap.containsKey(customScriptName)) {
339  CustomScriptConfiguration customScriptConfiguration = customScriptConfigurationsNameMap.get(customScriptName);
340  CustomScript customScript = customScriptConfiguration.getCustomScript();
341 
342  // Handle internal authentication method
343  if (customScript.isInternal()) {
344  authModes.add(acrValue);
345  continue;
346  }
347 
348  CustomScriptType customScriptType = customScriptConfiguration.getCustomScript().getScriptType();
349  BaseExternalType defaultImplementation = customScriptType.getDefaultImplementation();
350  BaseExternalType pythonImplementation = customScriptConfiguration.getExternalType();
351  if ((pythonImplementation != null) && (defaultImplementation != pythonImplementation)) {
352  authModes.add(acrValue);
353  }
354  }
355  }
356  }
357  return authModes;
358  }

◆ getCustomScriptConfiguration()

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.getCustomScriptConfiguration ( AuthenticationScriptUsageType  usageType,
String  name 
)
inline
390  {
391  for (CustomScriptConfiguration customScriptConfiguration : this.customScriptConfigurationsMapByUsageType.get(usageType)) {
392  if (StringHelper.equalsIgnoreCase(name, customScriptConfiguration.getName())) {
393  return customScriptConfiguration;
394  }
395  }
396 
397  return null;
398  }
Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > customScriptConfigurationsMapByUsageType
Definition: ExternalAuthenticationService.java:58

◆ getCustomScriptConfigurationByName()

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.getCustomScriptConfigurationByName ( String  name)
inline
400  {
401  for (Entry<String, CustomScriptConfiguration> customScriptConfigurationEntry : this.customScriptConfigurationsNameMap.entrySet()) {
402  if (StringHelper.equalsIgnoreCase(name, customScriptConfigurationEntry.getKey())) {
403  return customScriptConfigurationEntry.getValue();
404  }
405  }
406 
407  return null;
408  }

◆ getCustomScriptConfigurationsMap()

List<CustomScriptConfiguration> org.xdi.oxauth.service.external.ExternalAuthenticationService.getCustomScriptConfigurationsMap ( )
inline
410  {
411  if (this.customScriptConfigurationsNameMap == null) {
412  return new ArrayList<CustomScriptConfiguration>(0);
413  }
414 
415  List<CustomScriptConfiguration> configurations = new ArrayList<CustomScriptConfiguration>(this.customScriptConfigurationsNameMap.values());
416  return configurations;
417  }

◆ getDefaultExternalAuthenticator()

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.getDefaultExternalAuthenticator ( AuthenticationScriptUsageType  usageType)
inline
386  {
387  return this.defaultExternalAuthenticators.get(usageType);
388  }
Map< AuthenticationScriptUsageType, CustomScriptConfiguration > defaultExternalAuthenticators
Definition: ExternalAuthenticationService.java:59

◆ getExternalAuthenticatorByAuthLevel()

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.getExternalAuthenticatorByAuthLevel ( AuthenticationScriptUsageType  usageType,
int  authLevel 
)
inline
285  {
286  CustomScriptConfiguration resultDefaultExternalAuthenticator = null;
287  for (CustomScriptConfiguration customScriptConfiguration : this.customScriptConfigurationsMapByUsageType.get(usageType)) {
288  // Determine authenticator
289  if (customScriptConfiguration.getLevel() != authLevel) {
290  continue;
291  }
292 
293  if (resultDefaultExternalAuthenticator == null) {
294  resultDefaultExternalAuthenticator = customScriptConfiguration;
295  }
296  }
297 
298  return resultDefaultExternalAuthenticator;
299  }
Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > customScriptConfigurationsMapByUsageType
Definition: ExternalAuthenticationService.java:58

◆ getInternalCustomScriptConfiguration() [1/2]

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.getInternalCustomScriptConfiguration ( GluuLdapConfiguration  ldapAuthConfig)
inlineprivate
484  {
485  CustomScriptConfiguration customScriptConfiguration = getInternalCustomScriptConfiguration();
486  customScriptConfiguration.getCustomScript().setName(ldapAuthConfig.getConfigId());
487 
488  return customScriptConfiguration;
489  }
CustomScriptConfiguration getInternalCustomScriptConfiguration()
Definition: ExternalAuthenticationService.java:491

◆ getInternalCustomScriptConfiguration() [2/2]

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalAuthenticationService.getInternalCustomScriptConfiguration ( )
inlineprivate
491  {
492  CustomScript customScript = new AuthenticationCustomScript() {
493  @Override
494  public AuthenticationScriptUsageType getUsageType() {
495  return AuthenticationScriptUsageType.INTERACTIVE;
496  }
497 
498  };
499  customScript.setName(OxConstants.SCRIPT_TYPE_INTERNAL_RESERVED_NAME);
500  customScript.setLevel(-1);
501  customScript.setInternal(true);
502 
503  CustomScriptConfiguration customScriptConfiguration = new CustomScriptConfiguration(customScript, internalDefaultPersonAuthenticationType,
504  new HashMap<String, SimpleCustomProperty>(0));
505 
506  return customScriptConfiguration;
507  }
InternalDefaultPersonAuthenticationType internalDefaultPersonAuthenticationType
Definition: ExternalAuthenticationService.java:54

◆ getLogoutExternalUrl()

String org.xdi.oxauth.service.external.ExternalAuthenticationService.getLogoutExternalUrl ( CustomScriptConfiguration  customScriptConfiguration,
Map< String, String[]>  requestParameters 
)
inline
211  {
212  try {
213  log.debug("Executing python 'getLogouExternalUrl' authenticator method");
214  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
215  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
216  return externalAuthenticator.getLogoutExternalUrl(configurationAttributes, requestParameters);
217  } catch (Exception ex) {
218  log.error(ex.getMessage(), ex);
219  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
220  }
221 
222  return null;
223  }

◆ getNextStep()

int org.xdi.oxauth.service.external.ExternalAuthenticationService.getNextStep ( CustomScriptConfiguration  customScriptConfiguration,
Map< String, String[]>  requestParameters,
int  step 
)
inline
183  {
184  try {
185  log.debug("Executing python 'getNextStep' authenticator method");
186  PersonAuthenticationType externalAuthenticator = (PersonAuthenticationType) customScriptConfiguration.getExternalType();
187  Map<String, SimpleCustomProperty> configurationAttributes = customScriptConfiguration.getConfigurationAttributes();
188  return externalAuthenticator.getNextStep(configurationAttributes, requestParameters, step);
189  } catch (Exception ex) {
190  log.error(ex.getMessage(), ex);
191  saveScriptError(customScriptConfiguration.getCustomScript(), ex);
192  }
193 
194  return -1;
195  }

◆ groupCustomScriptConfigurationsMapByUsageType()

Map<AuthenticationScriptUsageType, List<CustomScriptConfiguration> > org.xdi.oxauth.service.external.ExternalAuthenticationService.groupCustomScriptConfigurationsMapByUsageType ( Map< String, CustomScriptConfiguration >  customScriptConfigurationsMap)
inlineprivate
89  {
90  Map<AuthenticationScriptUsageType, List<CustomScriptConfiguration>> newCustomScriptConfigurationsMapByUsageType = new HashMap<AuthenticationScriptUsageType, List<CustomScriptConfiguration>>();
91 
92  for (AuthenticationScriptUsageType usageType : AuthenticationScriptUsageType.values()) {
93  List<CustomScriptConfiguration> currCustomScriptConfigurationsMapByUsageType = new ArrayList<CustomScriptConfiguration>();
94 
95  for (CustomScriptConfiguration customScriptConfiguration : customScriptConfigurationsMap.values()) {
96  if (!isValidateUsageType(usageType, customScriptConfiguration)) {
97  continue;
98  }
99 
100  currCustomScriptConfigurationsMapByUsageType.add(customScriptConfiguration);
101  }
102  newCustomScriptConfigurationsMapByUsageType.put(usageType, currCustomScriptConfigurationsMapByUsageType);
103  }
104 
105  return newCustomScriptConfigurationsMapByUsageType;
106  }
boolean isValidateUsageType(AuthenticationScriptUsageType usageType, CustomScriptConfiguration customScriptConfiguration)
Definition: ExternalAuthenticationService.java:429

◆ isEnabled()

boolean org.xdi.oxauth.service.external.ExternalAuthenticationService.isEnabled ( AuthenticationScriptUsageType  usageType)
inline
280  {
281  return this.customScriptConfigurationsMapByUsageType != null &&
282  this.customScriptConfigurationsMapByUsageType.get(usageType).size() > 0;
283  }
Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > customScriptConfigurationsMapByUsageType
Definition: ExternalAuthenticationService.java:58

◆ isValidateUsageType()

boolean org.xdi.oxauth.service.external.ExternalAuthenticationService.isValidateUsageType ( AuthenticationScriptUsageType  usageType,
CustomScriptConfiguration  customScriptConfiguration 
)
inlineprivate
429  {
430  if (customScriptConfiguration == null) {
431  return false;
432  }
433 
434  AuthenticationScriptUsageType externalAuthenticatorUsageType = ((AuthenticationCustomScript) customScriptConfiguration.getCustomScript()).getUsageType();
435 
436  // Set default usage type
437  if (externalAuthenticatorUsageType == null) {
438  externalAuthenticatorUsageType = AuthenticationScriptUsageType.INTERACTIVE;
439  }
440 
441  if (AuthenticationScriptUsageType.BOTH.equals(externalAuthenticatorUsageType)) {
442  return true;
443  }
444 
445  if (AuthenticationScriptUsageType.INTERACTIVE.equals(usageType) && AuthenticationScriptUsageType.INTERACTIVE.equals(externalAuthenticatorUsageType)) {
446  return true;
447  }
448 
449  if (AuthenticationScriptUsageType.SERVICE.equals(usageType) && AuthenticationScriptUsageType.SERVICE.equals(externalAuthenticatorUsageType)) {
450  return true;
451  }
452 
453  return false;
454  }

◆ levelToAcrMapping()

Map<Integer, Set<String> > org.xdi.oxauth.service.external.ExternalAuthenticationService.levelToAcrMapping ( )
inline
456  {
457  Map<Integer, Set<String>> map = Maps.newHashMap();
458  for (CustomScriptConfiguration script : getCustomScriptConfigurationsMap()) {
459  int level = script.getLevel();
460  String acr = script.getName();
461 
462  Set<String> acrs = map.get(level);
463  if (acrs == null) {
464  acrs = Sets.newHashSet();
465  map.put(level, acrs);
466  }
467  acrs.add(acr);
468  }
469  return map;
470  }
List< CustomScriptConfiguration > getCustomScriptConfigurationsMap()
Definition: ExternalAuthenticationService.java:410

◆ reloadAuthScript()

void org.xdi.oxauth.service.external.ExternalAuthenticationService.reloadAuthScript ( @Observes @ReloadAuthScript String  event)
inline
65  {
66  reload(event);
67  }

◆ reloadExternal()

void org.xdi.oxauth.service.external.ExternalAuthenticationService.reloadExternal ( )
inlineprotected
70  {
71  // Group external authenticator configurations by usage type
73 
74  // Determine default authenticator for every usage type
75  this.defaultExternalAuthenticators = determineDefaultCustomScriptConfigurationsMap(this.customScriptConfigurationsNameMap);
76  }
Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > customScriptConfigurationsMapByUsageType
Definition: ExternalAuthenticationService.java:58
Map< AuthenticationScriptUsageType, List< CustomScriptConfiguration > > groupCustomScriptConfigurationsMapByUsageType(Map< String, CustomScriptConfiguration > customScriptConfigurationsMap)
Definition: ExternalAuthenticationService.java:89
Map< AuthenticationScriptUsageType, CustomScriptConfiguration > determineDefaultCustomScriptConfigurationsMap(Map< String, CustomScriptConfiguration > customScriptConfigurationsMap)
Definition: ExternalAuthenticationService.java:108
Map< AuthenticationScriptUsageType, CustomScriptConfiguration > defaultExternalAuthenticators
Definition: ExternalAuthenticationService.java:59

メンバ詳解

◆ customScriptConfigurationsMapByUsageType

Map<AuthenticationScriptUsageType, List<CustomScriptConfiguration> > org.xdi.oxauth.service.external.ExternalAuthenticationService.customScriptConfigurationsMapByUsageType
private

◆ defaultExternalAuthenticators

Map<AuthenticationScriptUsageType, CustomScriptConfiguration> org.xdi.oxauth.service.external.ExternalAuthenticationService.defaultExternalAuthenticators
private

◆ internalDefaultPersonAuthenticationType

InternalDefaultPersonAuthenticationType org.xdi.oxauth.service.external.ExternalAuthenticationService.internalDefaultPersonAuthenticationType
private

◆ ldapAuthConfigs

List<GluuLdapConfiguration> org.xdi.oxauth.service.external.ExternalAuthenticationService.ldapAuthConfigs
private

◆ MODIFIED_INTERNAL_TYPES_EVENT_TYPE

final String org.xdi.oxauth.service.external.ExternalAuthenticationService.MODIFIED_INTERNAL_TYPES_EVENT_TYPE = "CustomScriptModifiedInternlTypesEvent"
static

◆ serialVersionUID

final long org.xdi.oxauth.service.external.ExternalAuthenticationService.serialVersionUID = 7339887464253044927L
staticprivate

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