Java Code Examples for org.opensaml.saml2.core.Attribute#getAttributeValues()
The following examples show how to use
org.opensaml.saml2.core.Attribute#getAttributeValues() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SAMLUtils.java From cloudstack with Apache License 2.0 | 6 votes |
public static String getValueFromAttributeStatements(final List<AttributeStatement> attributeStatements, final String attributeKey) { if (attributeStatements == null || attributeStatements.size() < 1 || attributeKey == null) { return null; } for (AttributeStatement attributeStatement : attributeStatements) { if (attributeStatement == null || attributeStatements.size() < 1) { continue; } for (Attribute attribute : attributeStatement.getAttributes()) { if (attribute.getAttributeValues() != null && attribute.getAttributeValues().size() > 0) { String value = attribute.getAttributeValues().get(0).getDOM().getTextContent(); s_logger.debug("SAML attribute name: " + attribute.getName() + " friendly-name:" + attribute.getFriendlyName() + " value:" + value); if (attributeKey.equals(attribute.getName()) || attributeKey.equals(attribute.getFriendlyName())) { return value; } } } } return null; }
Example 2
Source File: Util.java From carbon-identity with Apache License 2.0 | 5 votes |
/** * Get the username from the SAML2 Assertion * * @param assertion SAML2 assertion * @return username */ public static String getUsernameFromAssertion(Assertion assertion) { String loginAttributeName = getLoginAttributeName(); if (loginAttributeName != null) { // There can be multiple AttributeStatements in Assertion List<AttributeStatement> attributeStatements = assertion .getAttributeStatements(); if (attributeStatements != null) { for (AttributeStatement attributeStatement : attributeStatements) { // There can be multiple Attributes in a // attributeStatement List<Attribute> attributes = attributeStatement .getAttributes(); if (attributes != null) { for (Attribute attribute : attributes) { String attributeName = attribute.getDOM() .getAttribute("Name"); if (attributeName.equals(loginAttributeName)) { List<XMLObject> attributeValues = attribute .getAttributeValues(); // There can be multiple attribute values in // a attribute, but get the first one return attributeValues.get(0).getDOM() .getTextContent(); } } } } } } return assertion.getSubject().getNameID().getValue(); }