{"record":{"id":"3779827377058ec1","repo":"quarkusio/quarkus","slug":"message-s-client-registration-configuration-i","errorCode":null,"errorMessage":"<message: '%s' client registration configuration is not initialized>","messagePattern":"<message: '(.+?)' client registration configuration is not initialized>","errorType":"exception","errorClass":"DisabledOidcClientRegistrationException","httpStatus":null,"severity":"error","filePath":"extensions/oidc-client-registration/runtime/src/main/java/io/quarkus/oidc/client/registration/runtime/OidcClientRegistrationRecorder.java","lineNumber":259,"sourceCode":"                        connectionDelayInMillisecs, vertx,\n                        oidcConfig.useBlockingDnsLookup())\n                .onItem().transform(json -> new OidcConfigurationMetadata(json.getString(\"registration_endpoint\")));\n    }\n\n    protected static OidcClientRegistrationException toOidcClientRegException(String authServerUrlString, Throwable cause) {\n        return new OidcClientRegistrationException(OidcCommonUtils.formatConnectionErrorMessage(authServerUrlString), cause);\n    }\n\n    private static class DisabledOidcClientRegistration implements OidcClientRegistration {\n        String message;\n\n        DisabledOidcClientRegistration(String message) {\n            this.message = message;\n        }\n\n        @Override\n        public Uni<RegisteredClient> registeredClient() {\n            throw new DisabledOidcClientRegistrationException(message);\n        }\n\n        @Override\n        public Uni<RegisteredClient> registerClient(ClientMetadata reg) {\n            throw new DisabledOidcClientRegistrationException(message);\n        }\n\n        @Override\n        public Multi<RegisteredClient> registerClients(List<ClientMetadata> regs) {\n            throw new DisabledOidcClientRegistrationException(message);\n        }\n\n        @Override\n        public void close() throws IOException {\n        }\n\n        @Override\n        public Uni<RegisteredClient> readClient(String registrationUri, String registrationToken) {","sourceCodeStart":241,"sourceCodeEnd":277,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/oidc-client-registration/runtime/src/main/java/io/quarkus/oidc/client/registration/runtime/OidcClientRegistrationRecorder.java#L241-L277","documentation":"When a client registration configuration is effectively disabled (e.g. the OIDC provider config is not initialized/registration disabled), the recorder returns a DisabledOidcClientRegistration placeholder instead of a real client. Any call to registeredClient() on it throws DisabledOidcClientRegistrationException carrying the message '<clientName> client registration configuration is not initialized'. It signals that registration was never set up for this named configuration.","triggerScenarios":"Injecting/obtaining OidcClientRegistration for a named config whose registration was disabled or whose OIDC configuration failed to initialize, then calling registeredClient().","commonSituations":"Referencing a client registration name that was never configured, quarkus.oidc-client-registration...enabled=false, or the parent OIDC config missing so registration could not initialize at build time.","solutions":["Add the required quarkus.oidc-client-registration...auth-server-url / registration-path properties so the config initializes","Check you are using the correct client registration name (named config must exist)","Check application startup logs for the root reason the registration configuration was not initialized"],"exampleFix":"# before\n# (no config for 'orders' registration but code requests it)\n# after\nquarkus.oidc-client-registration.orders.auth-server-url=https://idp.example.com/realms/main","handlingStrategy":"try-catch","validationCode":"null","typeGuard":"null","tryCatchPattern":"try {\n    RegisteredClient rc = registration.registeredClient().await().indefinitely();\n} catch (DisabledOidcClientRegistrationException e) {\n    LOG.warnf(\"Registration not initialized: %s\", e.getMessage()); // degrade gracefully\n}","preventionTips":["Ensure named registration configs exist for every name used in code","Don't disable configs still referenced at runtime","Fail fast with a startup config check"],"tags":["oidc","configuration","initialization"],"backgroundTag":"config-not-initialized","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"}