{"record":{"id":"e811f299b44fc308","repo":"quarkusio/quarkus","slug":"auth-config-file-does-not-define-type-path","errorCode":null,"errorMessage":"Auth config file does not define type: ${path}","messagePattern":"Auth config file does not define type: (.+?)","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"extensions/azure-functions/deployment/src/main/java/io/quarkus/azure/functions/deployment/AzureFunctionsConfig.java","lineNumber":262,"sourceCode":"                return (String) props.get(key);\n            return (String) props.get(\"quarkus.azure-functions.auth.\" + key);\n        }\n\n        private static AuthConfiguration fromFile(Optional<String> path) {\n            try {\n                if (path.isEmpty()) {\n                    throw new IllegalArgumentException(\"Path must be set if using file auth config\");\n\n                }\n                File file = new File(path.get());\n                if (!file.exists()) {\n                    throw new IllegalArgumentException(\"Auth config file not found: \" + path.get());\n                }\n                Properties props = new Properties();\n                props.load(new FileInputStream(file));\n                String typeVal = findValue(props, \"type\");\n                if (typeVal == null) {\n                    throw new IllegalArgumentException(\"Auth config file does not define type: \" + path);\n                }\n                final AuthType type = AuthType.parseAuthType(typeVal);\n                final AuthConfiguration authConfiguration = new AuthConfiguration(type);\n                authConfiguration.setClient(findValue(props, \"client\"));\n                authConfiguration.setTenant(findValue(props, \"tenant\"));\n                authConfiguration.setCertificate(findValue(props, \"certificate\"));\n                authConfiguration.setCertificatePassword(findValue(props, \"certificate-password\"));\n                authConfiguration.setKey(findValue(props, \"key\"));\n\n                authConfiguration.setEnvironment(findValue(props, \"environment\"));\n                authConfiguration.setEnvironment(Optional.ofNullable(authConfiguration.getEnvironment())\n                        .orElseGet(() -> AzureEnvironmentUtils.azureEnvironmentToString(AzureEnvironment.AZURE)));\n\n                if (authConfiguration.getType() == AuthType.SERVICE_PRINCIPAL) {\n                    authConfiguration.validate();\n                }\n\n                return authConfiguration;","sourceCodeStart":244,"sourceCodeEnd":280,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/azure-functions/deployment/src/main/java/io/quarkus/azure/functions/deployment/AzureFunctionsConfig.java#L244-L280","documentation":"The auth properties file must contain a 'type' key identifying the Azure credential type (parsed via AuthType.parseAuthType). If the file loads successfully but has no 'type' entry, fromFile throws IllegalArgumentException. Without the type, the plugin cannot construct the credential configuration.","triggerScenarios":"Auth properties file exists and is readable but lacks a line like type=azure_cli (or client_secret / service_principal), typically because the file was hand-written or truncated.","commonSituations":"Manually created auth file missing required keys; file copied from a different tool with different key names; keys commented out.","solutions":["Add a 'type' entry (e.g. type=azure_cli) to the auth properties file","Compare against the expected keys: type, client, tenant, certificate, depending on auth type","Regenerate the file using the documented format rather than hand-editing"],"exampleFix":"# before: azure.auth.properties\nclient=my-client-id\ntenant=my-tenant-id\n# after: azure.auth.properties\ntype=service_principal\nclient=my-client-id\ntenant=my-tenant-id\ncertificate=/path/to/cert.pem","handlingStrategy":"validation","validationCode":"Properties props = new Properties();\ntry (InputStream in = new FileInputStream(authPath)) { props.load(in); }\nif (props.getProperty(\"type\") == null) {\n  throw new IllegalStateException(\"Auth properties file must define 'type'\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Include the required 'type' key in every auth properties file","Validate keys (type, client, tenant, certificate) in CI before deploy","Document the expected file format next to the pom"],"tags":["azure-functions","configuration","properties-file"],"backgroundTag":"missing-config-key","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}