@ConditionalOnMissingBean(name = "samlAuthenticationEventExecutionPlanConfigurer") @Bean public AuthenticationEventExecutionPlanConfigurer samlAuthenticationEventExecutionPlanConfigurer() { return plan -> plan.registerAuthenticationMetadataPopulator(samlAuthenticationMetaDataPopulator()); } }
@ConditionalOnMissingBean(name = "surrogateAuthenticationMetadataConfigurer") @Bean public AuthenticationEventExecutionPlanConfigurer surrogateAuthenticationMetadataConfigurer() { return plan -> plan.registerAuthenticationMetadataPopulator(surrogateAuthenticationMetadataPopulator()); } }
@ConditionalOnMissingBean(name = "casCoreAuthenticationMetadataAuthenticationEventExecutionPlanConfigurer") @Bean public AuthenticationEventExecutionPlanConfigurer casCoreAuthenticationMetadataAuthenticationEventExecutionPlanConfigurer() { return plan -> { plan.registerAuthenticationMetadataPopulator(successfulHandlerMetaDataPopulator()); plan.registerAuthenticationMetadataPopulator(rememberMeAuthenticationMetaDataPopulator()); plan.registerAuthenticationMetadataPopulator(authenticationCredentialTypeMetaDataPopulator()); val cp = casProperties.getClearpass(); if (cp.isCacheCredential()) { LOGGER.warn("Cas is configured to capture and cache credentials via Clearpass. Sharing the user credential with other applications " + "is generally NOT recommended, may lead to security vulnerabilities and MUST only be used as a last resort ."); plan.registerAuthenticationMetadataPopulator(new CacheCredentialsMetaDataPopulator(cacheCredentialsCipherExecutor())); } }; } }
@ConditionalOnMissingBean(name = "pac4jAuthenticationEventExecutionPlanConfigurer") @Bean public AuthenticationEventExecutionPlanConfigurer pac4jAuthenticationEventExecutionPlanConfigurer() { return plan -> { if (!builtClients().findAllClients().isEmpty()) { LOGGER.info("Registering delegated authentication clients..."); plan.registerAuthenticationHandlerWithPrincipalResolver(clientAuthenticationHandler(), defaultPrincipalResolver.getIfAvailable()); plan.registerAuthenticationMetadataPopulator(clientAuthenticationMetaDataPopulator()); } }; }
@ConditionalOnMissingBean(name = "yubikeyAuthenticationEventExecutionPlanConfigurer") @Bean public AuthenticationEventExecutionPlanConfigurer yubikeyAuthenticationEventExecutionPlanConfigurer() { return plan -> { val yubi = casProperties.getAuthn().getMfa().getYubikey(); if (yubi.getClientId() > 0 && StringUtils.isNotBlank(yubi.getSecretKey())) { plan.registerAuthenticationHandler(yubikeyAuthenticationHandler()); plan.registerAuthenticationMetadataPopulator(yubikeyAuthenticationMetaDataPopulator()); plan.registerAuthenticationHandlerResolver(new ByCredentialTypeAuthenticationHandlerResolver(YubiKeyCredential.class)); } }; } }