SAML-Attribute in SAML-Token erstellen
Mit der SAML-Laufzeit-API können Sie SAML-Token erstellen, die SAML-Attribute enthalten. Außerdem können Sie die SAML-Attribute aus einem vorhandenen SAML-Token extrahieren.
Informationen zu diesem Vorgang
Führen Sie die folgenden Schritte aus, um ein SAML-Token zu erstellen, das SAML-Attribute enthält:
Vorgehensweise
- Initialisieren Sie ein Objekt des Typs
"com.ibm.wsspi.wssecurity.saml.data.SAMLAttribute".
Dadurch wird ein SAML-Attribut auf der Basis einer Adresse erstellt. Beispiel:
SAMLAttribute sattribute = new SAMLAttribute("urn:oid:2.5.4.20", //Name new String[] {" any address"}, //Attributwerte null, /*XML-Attribute sind in diesem Beispiel leer*/ "urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500", //Namespace "urn:oasis:names:tc:SAML:2.0:attrname-format:uri", //Format "Address");
- Erstellen Sie mit
der "SAMLTokenFactory" ein "CredentialConfig"-Objekt, das ein SAML-Attribut enthält.
Diese Methode erfordert die Java-Sicherheitsberechtigung
"wssapi.SAMLTokenFactory.newCredentialConfig".
- Erstellen Sie ein Objket des Typs "com.ibm.wsspi.wssecurity.saml.config.CredentialConfig", und legen Sie einen gültigen Principal-Namen fest.
- Erstellen Sie ein SAML-Attribut.
- Erstellen Sie eine Liste mit SAML-Attributen, und fügen Sie das SAML-Attribut der Liste hinzu.
- Fügen Sie die SAML-Attributliste dem Objekt "CredentialConfig" hinzu.
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"}, //Attributwerte null, /*XML-Attribute sind in diesem Beispiel leer*/ "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);
- Bei Angabe von
"CredentialConfig" als Parameter verwenden Sie die Methode
"com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory newSAMLToken", um ein
SAML-Token zu erstellen, das die Attribute enthält. In diesem Schritt wird vorausgesetzt,
dass bereits ein Objekt des Typs
"RequesterConfig reqData" und ein Objekt des Typs
"ProviderConfig samlIssuerCfg" erstellt wurden.
Lesen Sie hierzu die Informationen zu den Objekten
"RequesterConfig" und "ProviderConfig".
- Rufen Sie eine Instanz der "SAMLTokenFactory" ab.
- Erstellen Sie mit der Methode "newSAMLToken" aus der "SAMLTokenFactory" ein SAML-Token. Beispiel:
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);
- Optional: Extrahieren Sie
SAML-Attribute aus einem vorhandenen
SAML-Token. Dieser Schritt kann ausgeführt werden,
SAML-Attribute aus einem empfangenen SAML-Token zu extrahieren.
Sie können diesen Schritt verwenden, wenn eine
SAML-Zusicherung empfangen wird und die in der Zusicherung enthaltenen Attribute verarbeitet werden müssen.
- Rufen Sie die Methode "getSAMLAttributes()" mit dem Token als Parameter auf, um eine Liste der SAML-Attribute im Token zu erhalten. Diese Methode erfordert die Java-Sicherheitsberechtigung "wssapi.SAMLToken.getSAMLAttributes".
- Wenden Sie einen Iterator auf die Liste an.
- Iterieren Sie durch die Liste und führen Sie die erforderliche Verarbeitung für Ihre Anwendung aus.
List<SAMLAttribute> aList = aSAMLToken.getSAMLAttributes(); java.util.Iterator<SAMLAttribute> i = aList.iterator(); while (i.hasNext ()) { SAMLAttribute anAttribute = i.next(); //Aktion für den Namespace ausführen String namespace = anAttribute.getAttributeNamespace(); //Aktion für den Namen ausführen String name = anAttribute.getName(); //Aktion für den aussagekräftigen Namen (friendly name) ausführen String friendlyName = anAttribute.getFriendlyName(); //String-Attributwerte verarbeiten String[] stringAttributeValues = anAttribute.getStringAttributeValue(); //XML-Attributwerte verarbeiten XMLStructure[] xmlAttributeValues = (XMLStructure[]) anAttribute.getXMLAttributeValue(); }
Unterartikel
SAML-Benutzerattribute
Eine SAML-Zusicherung kann Benutzerattribute enthalten, die sich auf den Principal des SAML-Tokens beziehen. Eine SAML-Zusicherung kann mehrere Benutzerattribute enthalten.


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