{"record":{"id":"3f560ce518c958ef","repo":"quarkusio/quarkus","slug":"configuration-property-quarkus-resteasy-client-oi","errorCode":null,"errorMessage":"Configuration property 'quarkus.resteasy-client-oidc-token-propagation.enabled-during-authentication' is set to 'true', however this configuration property is only supported when either 'quarkus-oidc' or 'quarkus-smallrye-jwt' extensions are present.","messagePattern":"Configuration property 'quarkus\\.resteasy-client-oidc-token-propagation\\.enabled-during-authentication' is set to 'true', however this configuration property is only supported when either 'quarkus-oidc' or 'quarkus-smallrye-jwt' extensions are present\\.","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"extensions/oidc-token-propagation/deployment/src/main/java/io/quarkus/oidc/token/propagation/deployment/OidcTokenPropagationBuildStep.java","lineNumber":90,"sourceCode":"                }\n                reflectiveClass.produce(ReflectiveClassBuildItem.builder(forReflection)\n                        .reason(getClass().getName())\n                        .methods().fields().constructors().build());\n            }\n        }\n    }\n\n    @BuildStep(onlyIf = IsEnabledDuringAuth.class)\n    SystemPropertyBuildItem activateTokenCredentialPropagationViaDuplicatedContext(Capabilities capabilities) {\n        if (capabilities.isPresent(Capability.OIDC)) {\n            return new SystemPropertyBuildItem(OIDC_PROPAGATE_TOKEN_CREDENTIAL, \"true\");\n        }\n\n        if (capabilities.isPresent(Capability.JWT)) {\n            return new SystemPropertyBuildItem(JWT_PROPAGATE_TOKEN_CREDENTIAL, \"true\");\n        }\n\n        throw new ConfigurationException(\n                \"Configuration property 'quarkus.resteasy-client-oidc-token-propagation.enabled-during-authentication' is set to \"\n                        +\n                        \"'true', however this configuration property is only supported when either 'quarkus-oidc' or \" +\n                        \"'quarkus-smallrye-jwt' extensions are present.\");\n    }\n\n    public static class IsEnabled implements BooleanSupplier {\n        OidcTokenPropagationBuildTimeConfig config;\n\n        public boolean getAsBoolean() {\n            return config.enabled();\n        }\n    }\n\n    public static class IsEnabledDuringAuth implements BooleanSupplier {\n        OidcTokenPropagationBuildTimeConfig config;\n\n        public boolean getAsBoolean() {","sourceCodeStart":72,"sourceCodeEnd":108,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/oidc-token-propagation/deployment/src/main/java/io/quarkus/oidc/token/propagation/deployment/OidcTokenPropagationBuildStep.java#L72-L108","documentation":"OidcTokenPropagationBuildStep.activateTokenCredentialPropagationViaDuplicatedContext requires quarkus-oidc or quarkus-smallrye-jwt to honor enabled-during-authentication: only those extensions know how to authenticate requests and expose a propagated token credential. With neither present the configuration is invalid and a ConfigurationException is thrown.","triggerScenarios":"Setting quarkus.resteasy-client-oidc-token-propagation.enabled-during-authentication=true while neither Capability.OIDC nor Capability.JWT is present in the app.","commonSituations":"Enabling token propagation during authentication in a REST client app without any OIDC or JWT extension; removing quarkus-oidc/quarkus-smallrye-jwt but keeping the property set.","solutions":["Add io.quarkus:quarkus-oidc or io.quarkus:quarkus-smallrye-jwt to the application","Set quarkus.resteasy-client-oidc-token-propagation.enabled-during-authentication=false or remove it","If you only need plain token propagation, use the default (non-authentication) propagation mode"],"exampleFix":"// before\nquarkus.resteasy-client-oidc-token-propagation.enabled-during-authentication=true\n# no oidc/jwt extension\n// after\nadd <dependency>io.quarkus:quarkus-oidc</dependency>\n# or set the property to false","handlingStrategy":"validation","validationCode":"boolean hasOidcOrJwt = classpathContains(\"io.quarkus:quarkus-oidc\")\n        || classpathContains(\"io.quarkus:quarkus-smallrye-jwt\");\nif (config.enabledDuringAuthentication() && !hasOidcOrJwt) {\n    throw new IllegalStateException(\"enabled-during-authentication requires quarkus-oidc or quarkus-smallrye-jwt\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Only set enabled-during-authentication=true in apps with OIDC or JWT authentication","Review properties when removing extensions","Document the required extension pairing in team config templates"],"tags":["quarkus","oidc","token-propagation","configuration"],"backgroundTag":"missing-dependency","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}