package org.apereo.cas.ws.idp;
import org.apache.commons.lang3.EnumUtils;
import java.util.Arrays;
import java.util.List;
/**
* This is {@link WSFederationClaims}.
*
* @author Misagh Moayyed
* @since 5.1.0
*/
public enum WSFederationClaims {
/**
* Claims email address 2005 claim type constants.
*/
EMAIL_ADDRESS_2005("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"),
/**
* Claims email address claim type constants.
*/
EMAIL_ADDRESS("http://schemas.xmlsoap.org/claims/EmailAddress"),
/**
* Claims given name claim type constants.
*/
GIVEN_NAME("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"),
/**
* Claims name claim type constants.
*/
NAME("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"),
/**
* Claims user principal name 2005 claim type constants.
*/
USER_PRINCIPAL_NAME_2005("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"),
/**
* Claims user principal name claim type constants.
*/
USER_PRINCIPAL_NAME("http://schemas.xmlsoap.org/claims/UPN"),
/**
* Claims common name claim type constants.
*/
COMMON_NAME("http://schemas.xmlsoap.org/claims/CommonName"),
/**
* Claims group claim type constants.
*/
GROUP("http://schemas.xmlsoap.org/claims/Group"),
/**
* Claims ms role claim type constants.
*/
MS_ROLE("http://schemas.microsoft.com/ws/2008/06/identity/claims/role"),
/**
* Claims role claim type constants.
*/
ROLE("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role"),
/**
* Claims surname claim type constants.
*/
SURNAME("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"),
/**
* Claims private id claim type constants.
*/
PRIVATE_ID("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier"),
/**
* Claims name identifier claim type constants.
*/
NAME_IDENTIFIER("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"),
/**
* Claims authentication method claim type constants.
*/
AUTHENTICATION_METHOD("http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod"),
/**
* Claims deny only group sid claim type constants.
*/
DENY_ONLY_GROUP_SID("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid"),
/**
* Claims deny only primary sid claim type constants.
*/
DENY_ONLY_PRIMARY_SID("http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid"),
/**
* Claims deny only primary group sid claim type constants.
*/
DENY_ONLY_PRIMARY_GROUP_SID("http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid"),
/**
* Claims group sid claim type constants.
*/
GROUP_SID("http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid"),
/**
* Claims primary group sid claim type constants.
*/
PRIMARY_GROUP_SID("http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid"),
/**
* Claims primary sid claim type constants.
*/
PRIMARY_SID("http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"),
/**
* Claims windows account name claim type constants.
*/
WINDOWS_ACCOUNT_NAME("http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"),
/**
* Claims puid claim type constants.
*/
PUID("http://schemas.xmlsoap.org/claims/PUID");
/**
* All claims.
*/
public static final List<WSFederationClaims> ALL_CLAIMS =
Arrays.asList(EMAIL_ADDRESS_2005,
EMAIL_ADDRESS,
GIVEN_NAME,
NAME,
USER_PRINCIPAL_NAME_2005,
USER_PRINCIPAL_NAME,
COMMON_NAME,
GROUP,
ROLE,
MS_ROLE,
SURNAME,
PRIVATE_ID,
NAME_IDENTIFIER,
AUTHENTICATION_METHOD,
DENY_ONLY_GROUP_SID,
DENY_ONLY_PRIMARY_SID,
DENY_ONLY_PRIMARY_GROUP_SID,
GROUP_SID,
PRIMARY_GROUP_SID,
PRIMARY_SID,
WINDOWS_ACCOUNT_NAME,
PUID);
/**
* The Uri.
*/
private final String uri;
/**
* Instantiates a new Claim type constants.
*
* @param str the str
*/
WSFederationClaims(final String str) {
this.uri = str;
}
/**
* Gets uri.
*
* @return the uri
*/
public String getUri() {
return uri;
}
/**
* Contains claim.
*
* @param claimName the claim name
* @return true/false
*/
public static boolean contains(final String claimName) {
return EnumUtils.isValidEnum(WSFederationClaims.class, claimName);
}
}