{"record":{"id":"7f4414aafeae30fe","repo":"apache/hadoop","slug":"unable-to-load-oauth-token-provider-class","errorCode":null,"errorMessage":"Unable to load OAuth token provider class.","messagePattern":"Unable to load OAuth token provider class\\.","errorType":"validation","errorClass":"TokenAccessProviderException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AbfsConfiguration.java","lineNumber":1573,"sourceCode":"                  \"Failed to initialize custom ClientAssertionProvider: \" + clientAssertionProviderType, e);\n            }\n          } else {\n            // Use file-based approach (backward compatibility)\n            String tokenFile =\n                getTrimmedPasswordString(FS_AZURE_ACCOUNT_OAUTH_TOKEN_FILE,\n                AuthConfigurations.DEFAULT_FS_AZURE_ACCOUNT_OAUTH_TOKEN_FILE);\n            tokenProvider = new WorkloadIdentityTokenProvider(\n                authority, tenantGuid, clientId, tokenFile);\n            LOG.trace(\"WorkloadIdentityTokenProvider initialized with file-based token\");\n          }\n        } else {\n          throw new IllegalArgumentException(\"Failed to initialize \" + tokenProviderClass);\n        }\n        return tokenProvider;\n      } catch(IllegalArgumentException e) {\n        throw e;\n      } catch (Exception e) {\n        throw new TokenAccessProviderException(\"Unable to load OAuth token provider class.\", e);\n      }\n\n    } else if (authType == AuthType.Custom) {\n      try {\n        String configKey = FS_AZURE_ACCOUNT_TOKEN_PROVIDER_TYPE_PROPERTY_NAME;\n\n        Class<? extends CustomTokenProviderAdaptee> customTokenProviderClass\n            = getTokenProviderClass(authType, configKey, null,\n            CustomTokenProviderAdaptee.class);\n\n        if (customTokenProviderClass == null) {\n          throw new IllegalArgumentException(\n                  String.format(\"The configuration value for \\\"%s\\\" is invalid.\", configKey));\n        }\n        CustomTokenProviderAdaptee azureTokenProvider = ReflectionUtils\n                .newInstance(customTokenProviderClass, rawConfig);\n        if (azureTokenProvider == null) {\n          throw new IllegalArgumentException(\"Failed to initialize \" + customTokenProviderClass);","sourceCodeStart":1555,"sourceCodeEnd":1591,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AbfsConfiguration.java#L1555-L1591","documentation":"Error \"Unable to load OAuth token provider class.\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AbfsConfiguration.java:1573 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the OAuth token provider class named in configuration is on the classpath."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-23T01:17:44.959Z"}