protected static char[] getFromHadoopCredentialProvider(Configuration conf, String alias) { List<Object> providerObjList = getCredentialProviders(conf); if (providerObjList == null) { return null; } for (Object providerObj : providerObjList) { try { // Invoke CredentialProvider.getCredentialEntry(String) Object credEntryObj = getCredentialEntryMethod.invoke(providerObj, alias); if (credEntryObj == null) { continue; } // Then, CredentialEntry.getCredential() Object credential = getCredentialMethod.invoke(credEntryObj); return (char[]) credential; } catch (IllegalArgumentException | InvocationTargetException | IllegalAccessException e) { log.warn("Failed to get credential for {} from {}", alias, providerObj, e); continue; } } // If we didn't find it, this isn't an error, it just wasn't set in the CredentialProvider log.trace("Could not extract credential for {} from providers", alias); return null; }
@SuppressWarnings("unchecked") protected static List<String> getAliasesFromHadoopCredentialProvider(Configuration conf) { List<Object> providerObjList = getCredentialProviders(conf);
List<Object> providers = getCredentialProviders(conf); if (providers == null) { throw new IOException(
protected static char[] getFromHadoopCredentialProvider(Configuration conf, String alias) { List<Object> providerObjList = getCredentialProviders(conf); if (null == providerObjList) { return null; } for (Object providerObj : providerObjList) { try { // Invoke CredentialProvider.getCredentialEntry(String) Object credEntryObj = getCredentialEntryMethod.invoke(providerObj, alias); if (null == credEntryObj) { continue; } // Then, CredentialEntry.getCredential() Object credential = getCredentialMethod.invoke(credEntryObj); return (char[]) credential; } catch (IllegalArgumentException e) { log.warn("Failed to get credential for {} from {}", alias, providerObj, e); continue; } catch (IllegalAccessException e) { log.warn("Failed to get credential for {} from {}", alias, providerObj, e); continue; } catch (InvocationTargetException e) { log.warn("Failed to get credential for {} from {}", alias, providerObj, e); continue; } } // If we didn't find it, this isn't an error, it just wasn't set in the CredentialProvider log.trace("Could not extract credential for {} from providers", alias); return null; }
@SuppressWarnings("unchecked") protected static List<String> getAliasesFromHadoopCredentialProvider(Configuration conf) { List<Object> providerObjList = getCredentialProviders(conf);
List<Object> providers = getCredentialProviders(conf); if (null == providers) { throw new IOException(