Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@ public abstract class AzureActiveDirectoryAudience {
public static final String ALL = "common";
public static final String MSA_MEGA_TENANT_ID = "9188040d-6c67-4c5b-b112-36a304b66dad";

public static final String MSA_AUDIENCE = "MSA";
public static final String COMMON_AUDIENCE = "COMMON";
public static final String AAD_AUDIENCE = "AAD";
public static final String UNKNOWN_AUDIENCE = "UNKNOWN";


public String getCloudUrl() {
if (mCloudUrl == null) {
return AzureActiveDirectory.getDefaultCloudUrl();
Expand Down Expand Up @@ -154,6 +160,25 @@ public void setTenantId(String tenantId) {
mTenantId = tenantId;
}

public static String getAudienceFromAuthority( final AzureActiveDirectoryAuthority authority) {

if (authority == null || StringUtil.isNullOrEmpty(authority.getAudience().getTenantId())) {
return UNKNOWN_AUDIENCE;
}

final String audienceToCheck = authority.getAudience().mTenantId.toLowerCase(Locale.ROOT);

if (audienceToCheck.equals(CONSUMERS) || audienceToCheck.equals(MSA_MEGA_TENANT_ID)) {
return MSA_AUDIENCE;
}
else if (audienceToCheck.equals(ALL)) {
return COMMON_AUDIENCE;
}
else {
return AAD_AUDIENCE;
}
}

public static AzureActiveDirectoryAudience getAzureActiveDirectoryAudience(final String cloudUrl,
final String tenantId) {
final String methodName = ":getAzureActiveDirectoryAudience";
Expand Down