private List<HttpServerAuthenticationMechanism> getAuthenticationMechanisms(Map<String, Map<String, String>> selectedMechanisms) { List<HttpServerAuthenticationMechanism> mechanisms = new ArrayList<>(selectedMechanisms.size()); UnaryOperator<HttpServerAuthenticationMechanismFactory> singleSignOnTransformer = builder.httpAuthenticationFactoryTransformer; for (Entry<String, Map<String, String>> entry : selectedMechanisms.entrySet()) { try { UnaryOperator<HttpServerAuthenticationMechanismFactory> factoryTransformation = f -> { HttpServerAuthenticationMechanismFactory factory = new PropertiesServerMechanismFactory(f, entry.getValue()); return (singleSignOnTransformer != null) ? singleSignOnTransformer.apply(factory) : factory; }; HttpServerAuthenticationMechanism mechanism = builder.httpAuthenticationFactory.createMechanism(entry.getKey(), factoryTransformation); if (mechanism != null) mechanisms.add(mechanism); } catch (HttpAuthenticationException e) { throw new IllegalStateException(e); } } return mechanisms; }
factory = new SetMechanismInformationMechanismFactory(factory); factory = finalFilter != null ? new FilterServerMechanismFactory(factory, finalFilter) : factory; factory = propertiesMap != null ? new PropertiesServerMechanismFactory(factory, propertiesMap) : factory;