LTPA (Lightweight Third Party Authentication)
Cuando se utiliza el método LTPA (Lightweight Third Party Authentication), se genera la señal de seguridad <wsse:BinarySecurityToken>. En el lado del remitente de solicitudes, se invoca un manejador de retorno de llamada para generar la señal de seguridad. En el lado del receptor de solicitudes, se utiliza un módulo de inicio de sesión JAAS (Java™ Authentication and Authorization Service) para validar la señal de seguridad.
En la siguiente información se describen las operaciones de validación y generación de la señal.
- Generación de la señal de LTPA
- El remitente de solicitudes utiliza un manejador de retorno de llamada para
generar una señal de seguridad de LTPA. El manejador de retorno de llamada
devuelve una señal de seguridad que se inserta en el mensaje SOAP. Especifique
el manejador de retorno de llamada correspondiente en el elemento
<LoginBinding> del archivo de enlaces
(ibm-webservicesclient-bnd.xmi).
Se puede utilizar la siguiente
implementación de manejador de retorno de llamada con el método de autenticación
LTPA:
- com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
Puede añadir sus propios manejadores de retorno de llamada que implementen la propiedad javax.security.auth.callback.CallbackHandler.
Cuando se utiliza el método de autenticación LTPA (u otro método de autenticación distinto de BasicAuth, Signature o IDAssertion), se debe especificar el atributo TokenValueType del elemento <LoginBinding> en el archivo de enlaces (ibm-webservicesclient-bnd.xmi). Los valores que se utilizan para el atributo TokenValueType de LTPA son:- uri="http://www.ibm.com/websphere/appserver/tokentype/5.0.2"
- localName="LTPA"
- Validación de la señal de LTPA
- El receptor de solicitudes recupera la señal de seguridad de LTPA del mensaje
SOAP y valida el mensaje mediante un módulo de inicio de sesión JAAS.
La señal de seguridad <wsse:BinarySecurityToken> se utiliza para realizar la
validación. Si la validación es satisfactoria, el módulo de inicio de sesión
devuelve un sujeto JAAS. A continuación, este sujeto se establece como la identidad
de la hebra en ejecución. Si la validación no es satisfactoria, se rechaza la
solicitud con un error de SOAP.
La correspondiente configuración de inicio de sesión JAAS que se utiliza se especifica en el elemento <LoginMapping> del archivo de enlaces. En el archivo ws-security.xml hay especificados enlaces predeterminados, pero se pueden alterar temporalmente utilizando el archivo ibm-webservices-bnd.xmi específico de la aplicación. La información de configuración está formada por una CallbackHandlerFactory, un ConfigName y un atributo TokenValueType. CallbackHandlerFactory especifica el nombre de una clase que se utiliza para crear el objeto CallbackHandler de JAAS. Se proporciona una implementación de CallbackHandlerFactory (com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImpl). El atributo ConfigName especifica una entrada de nombre de configuración JAAS. El tiempo de ejecución de seguridad de servicios web busca primero en el archivo security.xml una entrada coincidente y si no la encuentra, la busca en el archivo wsjaas.conf. Se proporciona una entrada de configuración predeterminada adecuada para el método de autenticación LTPA (WSLogin). En la sección LoginMapping de LTPA del archivo ws-security.xml predeterminado se encuentra el elemento TokenValueType correspondiente.