@Bean
        @ConditionalOnMissingBean(name = CasWebflowConstants.ACTION_ID_PUT_BROWSER_STORAGE)
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public Action putBrowserStorageAction(
            @Qualifier(CasCookieBuilder.BEAN_NAME_TICKET_GRANTING_COOKIE_BUILDER)
            final CasCookieBuilder ticketGrantingTicketCookieGenerator,
            final ConfigurableApplicationContext applicationContext,
            final CasConfigurationProperties casProperties) {
            return WebflowActionBeanSupplier.builder()
                .withApplicationContext(applicationContext)
                .withProperties(casProperties)
                .withAction(() -> new PutBrowserStorageAction(ticketGrantingTicketCookieGenerator))
                .withId(CasWebflowConstants.ACTION_ID_PUT_BROWSER_STORAGE)
                .build()
                .get();
        }
Handled authentication exceptions set.
Order is important here; We want the account policy exceptions to be handled
first before moving onto more generic errors. In the event that multiple handlers
are defined, where one fails due to account policy restriction and one fails
due to a bad password, we want the error associated with the account policy
to be processed first, rather than presenting a more generic error associated

@param casProperties the cas properties
@return the set
core/cas-server-core-webflow/src/main/java/org/apereo/cas/config/CasCoreWebflowConfiguration.java