/* * oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text. * * Copyright (c) 2014, Gluu */ package org.xdi.oxauth.service; import java.util.Map; import javax.annotation.PostConstruct; import javax.ejb.DependsOn; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; import javax.inject.Named; import org.apache.commons.lang.StringUtils; import org.gluu.site.ldap.persistence.LdapEntryManager; import org.xdi.oxauth.model.configuration.AppConfiguration; /** * @author Yuriy Zabrovarnyy * @author Javier Rojas Blum * @version March 4, 2016 */ @ApplicationScoped @DependsOn("appInitializer") @Named public class ClientFilterService extends BaseAuthFilterService { @Inject private LdapEntryManager ldapEntryManager; @Inject private AppConfiguration appConfiguration; @PostConstruct public void init() { super.init(appConfiguration.getClientAuthenticationFilters(), Boolean.TRUE.equals(appConfiguration.getClientAuthenticationFiltersEnabled()), false); } public String processAuthenticationFilter(AuthenticationFilterWithParameters authenticationFilterWithParameters, Map<?, ?> attributeValues) { if (attributeValues == null) { return null; } final Map<String, String> normalizedAttributeValues = normalizeAttributeMap(attributeValues); final String resultDn = loadEntryDN(ldapEntryManager, authenticationFilterWithParameters, normalizedAttributeValues); if (StringUtils.isBlank(resultDn)) { return null; } return resultDn; } }