{"record":{"id":"c1a8125bfeab8f39","repo":"keycloak/keycloak","slug":"configuration-of-jwt-credentials-is-missing-or-inc","errorCode":null,"errorMessage":"Configuration of jwt credentials is missing or incorrect for client '{}'. Check your adapter configuration","messagePattern":"Configuration of jwt credentials is missing or incorrect for client '(.+?)'\\. Check your adapter configuration","errorType":"validation","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/org/keycloak/protocol/oidc/client/authentication/JWTClientCredentialsProvider.java","lineNumber":117,"sourceCode":"        this.keyPair = keyPair;\n    }\n\n    public void setTokenTimeout(int tokenTimeout) {\n        this.tokenTimeout = tokenTimeout;\n    }\n\n    protected int getTokenTimeout() {\n        return tokenTimeout;\n    }\n\n    public PublicKey getPublicKey() {\n        return keyPair.getPublic();\n    }\n\n    @Override\n    public void init(AdapterConfig deployment, Object config) {\n        if (!(config instanceof Map)) {\n            throw new RuntimeException(\"Configuration of jwt credentials is missing or incorrect for client '\" + deployment.getResource() + \"'. Check your adapter configuration\");\n        }\n\n        Map<String, Object> cfg = (Map<String, Object>) config;\n\n        String clientKeystoreFile =  (String) cfg.get(\"client-keystore-file\");\n        if (clientKeystoreFile == null) {\n            throw new RuntimeException(\"Missing parameter client-keystore-file in configuration of jwt for client \" + deployment.getResource());\n        }\n\n        String clientKeystoreType = (String) cfg.get(\"client-keystore-type\");\n        KeystoreUtil.KeystoreFormat clientKeystoreFormat = clientKeystoreType==null ? KeystoreUtil.KeystoreFormat.JKS : Enum.valueOf(KeystoreUtil.KeystoreFormat.class, clientKeystoreType.toUpperCase());\n\n        String clientKeystorePassword =  (String) cfg.get(\"client-keystore-password\");\n        if (clientKeystorePassword == null) {\n            throw new RuntimeException(\"Missing parameter client-keystore-password in configuration of jwt for client \" + deployment.getResource());\n        }\n\n        String clientKeyPassword = (String) cfg.get(\"client-key-password\");","sourceCodeStart":99,"sourceCodeEnd":135,"githubUrl":"https://github.com/keycloak/keycloak/blob/66c7e15a3788de7764f07dd2558275a02770e16d/core/src/main/java/org/keycloak/protocol/oidc/client/authentication/JWTClientCredentialsProvider.java#L99-L135","documentation":"Error \"Configuration of jwt credentials is missing or incorrect for client '{}'. Check your adapter configuration\" thrown in keycloak/keycloak.","triggerScenarios":"Initializing JWT client credentials when the jwt configuration section for the client is missing or fails validation.","commonSituations":"Occurs when client-jwt authentication is selected but the adapter configuration lacks the required keystore parameters or contains invalid values.","solutions":["Add a 'client-jwt' (jwt) credentials section to the adapter configuration as a JSON object with the required keystore parameters.","Ensure the credentials configuration value is a map/object, not a string or other type.","Required keys include 'client-keystore-file' and 'client-keystore-password'; see the client-jwt adapter documentation."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"66c7e15a3788de7764f07dd2558275a02770e16d","analyzedAt":"2026-08-14T01:36:42.651Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}