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

In WebSphere Application Server können Sie SAML-Attribute mit den APIs der SAML-Tokenbibliothek erstellen. Die SAML-Attribute werden einem "CredentialConfig"-Objekt hinzugefügt, das zum Generieren eines SAML-Tokens verwendet wird. Die API stellt außerdem eine Funktion bereit, die SAML-Attribute aus einem vorhandenen SAML-Token extrahiert und die Attribute verarbeitet.

Führen Sie die folgenden Schritte aus, um ein SAML-Token zu erstellen, das SAML-Attribute enthält:

Vorgehensweise

  1. 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");
  2. Erstellen Sie mit der "SAMLTokenFactory" ein "CredentialConfig"-Objekt, das ein SAML-Attribut enthält. Diese Methode erfordert die Java-Sicherheitsberechtigung "wssapi.SAMLTokenFactory.newCredentialConfig".
    1. Erstellen Sie ein Objket des Typs "com.ibm.wsspi.wssecurity.saml.config.CredentialConfig", und legen Sie einen gültigen Principal-Namen fest.
    2. Erstellen Sie ein SAML-Attribut.
    3. Erstellen Sie eine Liste mit SAML-Attributen, und fügen Sie das SAML-Attribut der Liste hinzu.
    4. Fügen Sie die SAML-Attributliste dem Objekt "CredentialConfig" hinzu.
    Sehen Sie sich das folgende Beispiel an:
    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);
  3. 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".
    1. Rufen Sie eine Instanz der "SAMLTokenFactory" ab.
    2. 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);
  4. 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.
    1. 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".
    2. Wenden Sie einen Iterator auf die Liste an.
    3. Iterieren Sie durch die Liste und führen Sie die erforderliche Verarbeitung für Ihre Anwendung aus.
    Sehen Sie sich das folgende Beispiel an:
    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();
    
       }

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_managesamlattribs
Dateiname:twbs_managesamlattribs.html