Creación de atributos SAML en señales SAML
Con la API de ejecución de SAML, puede crear señales SAML que contengan atributos SAML. También puede extraer atributos SAML de una señal SAML existente.
Acerca de esta tarea
Para crear una señal SAML que contenga atributos SAML, siga estos pasos:
Procedimiento
- Inicialice un objeto com.ibm.wsspi.wssecurity.saml.data.SAMLAttribute. Esto crea un atributo SAML basado en una dirección, por ejemplo:
SAMLAttribute sattribute = new SAMLAttribute("urn:oid:2.5.4.20", //Name new String[] {" any address"}, //Attribute Values null, /*XML Attributes empty on this example*/ "urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500", //NameSpace "urn:oasis:names:tc:SAML:2.0:attrname-format:uri", //format "Address");
- Utilice SAMLTokenFactory para crear un objeto CredentialConfig
que contenga un atributo SAML. Este método exige el permiso de seguridad
Java wssapi.SAMLTokenFactory.newCredentialConfig.
- Cree un objeto com.ibm.wsspi.wssecurity.saml.config.CredentialConfig y establezca un nombre principal válido.
- Cree un atributo SAML.
- Cree una lista de atributos SAML y añada el atributo SAML a la lista.
- Añada la lista de atributos SAML al objeto CredentialConfig.
SAMLTokenFactory samlFactory = SAMLTokenFactory.getInstance("http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0");//samlTokenType CredentialConfig credentialConfig = samlFactory.newCredentialConfig(); credentialConfig.setRequesterNameID("any name"); SAMLAttribute sattribute = new SAMLAttribute("urn:oid:2.5.4.20", //Name new String[] {" any address"}, //Attribute Values null, /*XML Attributes empty on this example*/ "urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500", //NameSpace "urn:oasis:names:tc:SAML:2.0:attrname-format:uri", //format "Address"); ArrayList<SAMLAttribute> al = new ArrayList<SAMLAttribute>(); al.add(sattribute); credentialConfig.setSAMLAttributes(al);
- Si especifica CredentialConfig como parámetro, utilice el método
com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory newSAMLToken
para crear una señal SAML que contenga los atributos. En este paso se presupone que un objeto RequesterConfig reqData y
un objeto ProviderConfig samlIssuerCfg ya
se han creado. Para obtener más información sobre estos objetos, consulte
la información sobre RequesterConfig y ProviderConfig.
- Obtenga una instancia de SAMLTokenFactory.
- Cree una señal SAML mediante el método newSAMLToken de la SAMLTokenFactory,
por ejemplo:
SAMLTokenFactory samlFactory = SAMLTokenFactory.getInstance("http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1"); SAMLToken aSamlToken = samlFactory.newSAMLToken(credentialConfig, reqData, samlIssuerCfg);
- Opcional: Extraiga los atributos SAML de una señal SAML existente. Este paso es útil para extraer los atributos de SAML de una señal
SAML recibida. Puede utilizar este paso cuando se recibe una aserción
SAML y los atributos contenidos en la aserción tienen que procesarse.
- Invocar el método getSAMLAttributes() con la señal como parámetro para obtener una lista de atributos SAML en la señal. Este método exige el permiso de seguridad Java wssapi.SAMLToken.getSAMLAttributes.
- Aplique un iterador a la lista.
- Aplique la iteración en la lista y realice los procesos adicionales necesarios para la aplicación.
List<SAMLAttribute> aList = aSAMLToken.getSAMLAttributes(); java.util.Iterator<SAMLAttribute> i = aList.iterator(); while (i.hasNext()) { SAMLAttribute anAttribute = i.next(); //hacer algo con espacio de nombres String namespace = anAttribute.getAttributeNamespace(); //hacer algo con nombre String name = anAttribute.getName(); //hacer algo con nombre descriptivo String friendlyName = anAttribute.getFriendlyName(); //procesar valores de atributo de serie String[] stringAttributeValues = anAttribute.getStringAttributeValue(); //procesar valores de atributo XML XMLStructure[] xmlAttributeValues = (XMLStructure[]) anAttribute.getXMLAttributeValue(); }
Subtopics
Atributos de usuario de SAML
Una aserción SAML puede contener atributos de usuario que hagan referencia al principal de la señal SAML. Una aserción SAML puede contener varios atributos de usuario.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_managesamlattribs
File name: twbs_managesamlattribs.html