com.aliyuncs.v5.auth.DefaultCredentialsProvider Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aliyun-java-sdk-core-v5 Show documentation
Show all versions of aliyun-java-sdk-core-v5 Show documentation
Aliyun Open API SDK for Java
Copyright (C) Alibaba Cloud Computing
All rights reserved.
版权所有 (C)阿里云计算有限公司
http://www.aliyun.com
The newest version!
package com.aliyuncs.v5.auth;
import com.aliyuncs.v5.exceptions.ClientException;
import com.aliyuncs.v5.utils.AuthUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
public class DefaultCredentialsProvider implements AlibabaCloudCredentialsProvider {
private List defaultProviders = new ArrayList();
private static final List USER_CONFIGURATION_PROVIDERS =
new Vector();
public DefaultCredentialsProvider() throws ClientException {
defaultProviders.add(new SystemPropertiesCredentialsProvider());
defaultProviders.add(new EnvironmentVariableCredentialsProvider());
defaultProviders.add(new ProfileCredentialsProvider());
String roleName = AuthUtils.getEnvironmentECSMetaData();
if (roleName != null) {
if (roleName.length() == 0) {
throw new ClientException("Environment variable roleName('ALIBABA_CLOUD_ECS_METADATA') cannot be empty");
}
defaultProviders.add(new InstanceProfileCredentialsProvider(roleName));
}
}
@Override
public AlibabaCloudCredentials getCredentials() throws ClientException {
AlibabaCloudCredentials credential;
if (USER_CONFIGURATION_PROVIDERS.size() > 0) {
for (AlibabaCloudCredentialsProvider provider : USER_CONFIGURATION_PROVIDERS) {
credential = provider.getCredentials();
if (null != credential) {
return credential;
}
}
}
for (AlibabaCloudCredentialsProvider provider : defaultProviders) {
credential = provider.getCredentials();
if (null != credential) {
return credential;
}
}
throw new ClientException("not found credentials");
}
public static boolean addCredentialsProvider(AlibabaCloudCredentialsProvider provider) {
return DefaultCredentialsProvider.USER_CONFIGURATION_PROVIDERS.add(provider);
}
public static boolean removeCredentialsProvider(AlibabaCloudCredentialsProvider provider) {
return DefaultCredentialsProvider.USER_CONFIGURATION_PROVIDERS.remove(provider);
}
public static boolean containsCredentialsProvider(AlibabaCloudCredentialsProvider provider) {
return DefaultCredentialsProvider.USER_CONFIGURATION_PROVIDERS.contains(provider);
}
public static void clearCredentialsProvider() {
DefaultCredentialsProvider.USER_CONFIGURATION_PROVIDERS.clear();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy