use of io.jans.as.model.configuration.BaseFilter in project jans by JanssenProject.
the class BaseAuthFilterService method prepareAuthenticationFilterWithParameters.
private List<AuthenticationFilterWithParameters> prepareAuthenticationFilterWithParameters(List<? extends BaseFilter> filterList) {
final List<AuthenticationFilterWithParameters> tmpAuthenticationFilterWithParameters = new ArrayList<>();
if (!this.enabled || filterList == null) {
return tmpAuthenticationFilterWithParameters;
}
for (BaseFilter authenticationFilter : filterList) {
if (Boolean.TRUE.equals(authenticationFilter.getBind()) && StringHelper.isEmpty(authenticationFilter.getBindPasswordAttribute())) {
log.error("Skipping authentication filter:\n '{}'\n. It should contains not empty bind-password-attribute attribute. ", authenticationFilter);
continue;
}
List<String> variableNames = new ArrayList<>();
List<BaseAuthFilterService.IndexedParameter> indexedParameters = new ArrayList<>();
Matcher matcher = BaseAuthFilterService.PARAM_VALUE_PATTERN.matcher(authenticationFilter.getFilter());
while (matcher.find()) {
String paramName = normalizeAttributeName(matcher.group(1));
String paramIndex = matcher.group(2);
variableNames.add(paramName);
indexedParameters.add(new BaseAuthFilterService.IndexedParameter(paramName, paramIndex));
}
AuthenticationFilterWithParameters tmpAutheticationFilterWithParameter = new AuthenticationFilterWithParameters(authenticationFilter, variableNames, indexedParameters);
tmpAuthenticationFilterWithParameters.add(tmpAutheticationFilterWithParameter);
log.debug("Authentication filter with parameters: '{}'. ", tmpAutheticationFilterWithParameter);
}
return tmpAuthenticationFilterWithParameters;
}
Aggregations