@Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @ConditionalOnMissingBean(name = "oidcRegisteredServiceResponseModeJwtCipherExecutor")
        public RegisteredServiceCipherExecutor oidcRegisteredServiceResponseModeJwtCipherExecutor(
            final CasConfigurationProperties casProperties,
            @Qualifier("oidcServiceJsonWebKeystoreCache")
            final LoadingCache<OidcJsonWebKeyCacheKey, Optional<JsonWebKeySet>> oidcServiceJsonWebKeystoreCache,
            @Qualifier(OidcIssuerService.BEAN_NAME)
            final OidcIssuerService oidcIssuerService,
            @Qualifier("oidcDefaultJsonWebKeystoreCache")
            final LoadingCache<OidcJsonWebKeyCacheKey, JsonWebKeySet> oidcDefaultJsonWebKeystoreCache) {
            val crypto = casProperties.getAuthn().getOidc().getResponse().getCrypto();
            return FunctionUtils.doIf(crypto.isEnabled(),
                () -> new OidcRegisteredServiceJwtResponseModeCipherExecutor(oidcDefaultJsonWebKeystoreCache,
                    oidcServiceJsonWebKeystoreCache, oidcIssuerService),
                RegisteredServiceCipherExecutor::noOp).get();
        }
This is {@link OidcConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-oidc/src/main/java/org/apereo/cas/config/OidcConfiguration.java