Lightweight Third Party Authentication
Wenn Sie die Methode LTPA (Lightweight Third-Party Authentication) verwenden, wird das Sicherheitstoken <wsse:BinarySecurityToken> generiert. Auf der Seite des Anforderungssenders wird das Sicherheitstoken durch den Aufruf eines Callback-Handler generiert. Auf der Seite des Anforderungsempfängers wird das Sicherheitstoken von einem JAAS-Anmeldemodul (Java™ Authentication and Authorization Service) validiert.
Die Operationen für die Tokengenerierung und -validierung werden im Folgenden beschrieben.
- Generierung des LTPA-Tokens
- Der Anforderungssender verwendet für einen Callback-Handler, um ein LTPA-Sicherheitstoken zu generieren. Der Callback-Handler gibt ein Sicherheitstoken zurück, das in die SOAP-Nachricht eingefügt wird.
Geben Sie im Element <LoginBinding> der Bindungsdatei (ibm-webservicesclient-bnd.xmi)
den richtigen Callback-Handler an.
Die folgende Callback-Handler-Implementierung kann für die Authentifizierungsmethode
LTPA verwendet werden:
- com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
Sie können eigene Callback-Handler hinzufügen, die die Eigenschaft javax.security.auth.callback.CallbackHandler implementieren.
Wenn Sie die Authentifizierungsmethode LTPA (oder eine andere Authentifizierungsmethode als BasicAuth, Signature oder IDAssertion) verwenden, muss das Attribut TokenValueType des Elements <LoginBinding> in der Bindungsdatei (ibm-webservicesclient-bnd.xmi) angegeben werden. Die gültigen Werte für das Attribut LTPA-TokenValueType sind:- uri="http://www.ibm.com/websphere/appserver/tokentype/5.0.2"
- localName="LTPA"
- Validierung des LTPA-Tokens
- Der Anforderungsempfänger ruft das LTPA-Sicherheitstoken aus der SOAP-Nachricht ab und validiert
es mit einem JAAS-Anmeldemodul. Die Validierung wird mit dem Sicherheitstoken <wsse:BinarySecurityToken>
durchgeführt. Bei erfolgreicher Validierung
gibt das Anmeldemodul ein JAAS-Subject zurück. Anschließend wird dieses Subject als Identität
des Ausführungsthreads definiert. Falls die Validierung fehlschlägt, wird die Anforderung
mit einem SOAP-Fehler (Fault) zurückgewiesen.
Die zu verwendende JAAS-Anmeldekonfiguration wird in der Bindungsdatei mit dem Element <LoginMapping> angegeben. In der Datei ws-security.xml sind zwar Standardbindungen angegeben, aber diese können mit der anwendungsspezifischen Datei ibm-webservices-bnd.xmi überschrieben werden. Die Konfigurationsdaten setzen sich aus den Attributen "CallbackHandlerFactory", "ConfigName" und "TokenValueType" zusammen. Die CallbackHandlerFactory gibt den Namen der Klasse an, die zum Erstellen des JAAS-Objekts "CallbackHandler" verwendet werden soll. Eine Implementierung der CallbackHandlerFactory wird bereitgestellt (com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImpl). Das Attribut "ConfigName" gibt einen JAAS-Konfigurationsnamen an. Die Laufzeitumgebung von Web Services Security durchsucht zuerst die Datei security.xml nach einem entsprechenden Eintrag. Falls kein Eintrag gefunden wird, durchsucht die Laufzeit die Datei wsjaas.conf. Es wird ein geeigneter Standardkonfigurationseintrag für die Authentifizierungsmethode LTPA bereitgestellt (WSLogin). Ein entsprechendes Element "TokenValueType" ist im LTPA-Abschnitt "LoginMapping" der Standarddatei ws-security.xml enthalten.