El soporte de WebSphere Application Server para SAML proporciona interfaces de programación de aplicaciones (API) públicas que puede utilizar para crear aplicaciones que aplican la señal SAML.
Utilice la API SAMLTokenFactory para crear, validar y autenticar señales SAML y para crear
sujetos JAAS que representen señales SAML.
La implementación SAMLTokenFactory admite tanto la especificación de señales OASIS SAML v1.1
como la especificación de señales OASIS SAML v2.0. Utilice la API
WSSTrustClient para enviar, emitir y validar mensajes de solicitud de WS-Trust
al STS especificado. La implementación de WSSTrustClient admite tanto la especificación
WS-Trust v1.3 como la especificación WS-Trust v1.2 y admite tanto el espacio de nombres de
SOAP v1.1 como el espacio de nombres de SOAP v1.2.
Nota: A partir de
WebSphere Application Server Release 8, puede
utilizar la clase
com.ibm.websphere.wssecurity.wssapi.token.SAMLToken en
la interfaz de programación de aplicaciones (API) de seguridad de servicios web (WSS).
Si no da lugar a confusión se utiliza el término
SAMLToken en lugar
del nombre completo del paquete. Puede utilizar la API de WSS para solicitar el proceso
de SAMLToken desde un servicio de señales de seguridad (STS) externo, con el fin de propagar las SAMLTokens
en mensajes de solicitud SOAP y de utilizar una clave simétrica o asimétrica identificada en SAMLTokens
para proteger los mensajes SOAP.
El soporte de SAML de la API de
WSS complementa las interfaces com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory y com.ibm.websphere.wssecurity.wssapi.trust.WSSTrustClient.
Las interfaces de programación SAMLTokenFactory y
WSSTrustClient procesan las SAMLTokens que se generan mediante
el método com.ibm.websphere.wssecurity.wssapi.WSSFactory
newSecurityToken(). A la inversa, las SAMLTokens que se generan mediante SAMLTokenFactory
o que se devuelven de WSSTrustClient pueden utilizarse en la API de WSS.
La determinación de qué API utilizar en la aplicación depende de sus necesidades específicas.
El soporte SAML de la API de WSS es completo en el sentido de que proporciona funcionalidad
equivalente a la de las interfaces SAMLTokenFactory y WSSTrustClient
en lo que respecta a las aplicaciones cliente de servicios web. La interfaz SAMLTokenFactory
tiene funciones adicionales para validar las SAMLTokens y para crear el asunto JAAS que representa las
SAMLTokens autenticadas. Esta validación es útil en el proveedor de servicios web. Al desarrollar aplicaciones
para consumir SAMLTokens, la interfaz de programación de SAMLTokenFactory es más adecuada para usted.
WebSphere Application Server
con SAML proporciona las API siguientes que implementan SAML
como señal de seguridad.
Para obtener información acerca de los métodos de estas API,
consulte la documentación sobre las API de la biblioteca de señales SAML, que describe cada una
de las API y proporciona código de ejemplo.
La API SAMLTokenFactory es la principal interfaz de programación de señales SAML.
Con esta API, puede crear señales SAML, insertar atributos SAML, analizar y validar aserciones SAML como representaciones XML
para las señales SAML y crear sujetos JAAS que representan la identidad del usuario y los atributos según se definen
en las señales SAML.
- com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory
- com.ibm.websphere.wssecurity.wssapi.token.SAMLToken
Las interfaces de programación del sistema SAMLAttribute y SAMLNameID
(SPI) representan los atributos SAML y los identificadores de nombres de
usuario de SAML.
- com.ibm.wsspi.wssecurity.saml.data.SAMLAttribute
- com.ibm.wsspi.wssecurity.saml.data.SAMLNameID
Con las SPI SAML siguientes, puede especificar cómo se crean las señales SAML y
los documentos XML de aserción de SAML se validan. Los objetos ProviderConfig
especifican información de configuración para el emisor de aserciones SAML,
lo que incluye el nombre del emisor, la clave de firma del emisor y el
certificado de firma.
Los objetos RequesterConfig contienen parámetros de configuración que definen las características
de las aserciones SAML y las señales SAML mientras se crean. Estos parámetros de configuración incluyen
el método de confirmación, la firma de aserciones SAML, el tipo de clave de cifrado incorporada y el método
de autenticación. Los objetos ConsumerConfig contienen parámetros de configuración que definen cómo se validan
los documentos XML de aserción SAML, incluida la información de claves de cifrado, el algoritmo de cifrado,
el valor de temporizador para el desfase horario y la exigencia de firma digital para los emisores.
- com.ibm.wsspi.wssecurity.saml.config.ConsumerConfig
- com.ibm.wsspi.wssecurity.saml.config.CredentialConfig
- com.ibm.wsspi.wssecurity.saml.config.ProviderConfig
- com.ibm.wsspi.wssecurity.saml.config.RequesterConfig
- com.ibm.wsspi.wssecurity.saml.config.SamlConstants
- com.ibm.wsspi.wssecurity.core.token.config.ConsumerConfiguration
- com.ibm.wsspi.wssecurity.core.token.config.CredentialConfiguration
- com.ibm.wsspi.wssecurity.core.token.config.ProviderConfiguration
- com.ibm.wsspi.wssecurity.core.token.config.RequesterConfiguration
Las clases Callback y CallbackHandler SAML siguientes especifican los parámetros de configuración
que se pueden utilizar para definir las características de las aserciones SAML y controlan el
comportamiento del LoginModule SAML en el entorno de ejecución. Estos parámetros se almacenan en los documentos
de enlace de seguridad de servicios Web. La configuración de señales SAML se modela mediante la extensión CustomToken
en la configuración de políticas de seguridad de servicios Web.
- com.ibm.websphere.wssecurity.callbackhandler.SAMLConsumeCallback
- com.ibm.websphere.wssecurity.callbackhandler.SAMLConsumerCallbackHandler
- com.ibm.websphere.wssecurity.callbackhandler.SAMLGenerateCallback
- com.ibm.websphere.wssecurity.callbackhandler.SAMLGenerateCallbackHandler
El método getXML(), en la interfaz de programación com.ibm.websphere.wssecurity.wssapi.token.SecurityToken,
devuelve objetos que implementen la interfaz XMLStructure. Una mejora que añade
WebSphere Application Server
admite una implementación de SecurityToken personalizada. Con las dos SPI siguientes, puede desplegar una implementación de
Axis2 Axiom OM o una implementación de DOM. La señal SAML amplía la interfaz GenericSecurityToken,
que, por su parte, amplía la interfaz SecurityToken. GenericSecurityToken
es una interfaz nueva que ha añadido
WebSphere Application Server
con SAML. La señal SAML también implementa la interfaz OMStructure.
- com.ibm.wsspi.wssecurity.wssapi.DOMStructure
- com.ibm.wsspi.wssecurity.wssapi.OMStructure
La API de cliente de WS-Trust incluye la clase WSSTrustClient y otras
API y SPI auxiliares. La API WSSTrustClient envía solicitudes SOAP de WS-Trust
a un servicio de señales de seguridad (STS) externo especificado para que el STS pueda
emitir o validar una o más aserciones SAML u otro tipo de señales
de seguridad. WSSTrustClient admite las especificaciones WS-Trust Versión
1.3 y WS-Trusts Versión 1.2. La API WSSTrustClient devuelve una señal SAML cuando los llamantes de
API solicitan un tipo de señal SAML.
La API también utiliza la interfaz GenericSecurityToken cuando el llamante de API solicita un tipo de señal
no SAML. Consulte la información acerca de la API de cliente de WS-Trust para obtener más información
y el código de ejemplo. Consulte la documentación de la API para obtener una descripción detallada de
las API y las SPI.
- com.ibm.websphere.wssecurity.wssapi.trust.WSSTrustClient
- com.ibm.websphere.wssecurity.wssapi.token.GenericSecurityToken
Utilice las SPI siguientes para especificar las características de las señales y su
comportamiento en el entorno de ejecución. Los objetos ProviderConfig contienen parámetros de
configuración que especifican el punto final STS, el conjunto de políticas de seguridad de servicios Web,
los documentos de enlaces que se utilizan para acceder al STS y si se utilizan enlaces generales o enlaces
específicos de aplicación. Los objetos ProviderConfig también especifican si el documento XML RequestSecurityTokenResponse
(RSTR) se almacena en los objetos GenericSecurityToken o SAMLToken. Los objetos RequesterConfig contienen parámetros
de configuración que se envían en las solicitudes WS-Trust al STS especificado. La interfaz ConsumerConfig define
los atributos y los datos para los mensajes de respuesta de WS-Trust y para el elemento
RequestSecurityTokenResponse. Estos datos se recuperan con el método GenericSecurityToken
getProperties(). El elemento XML RequestSecurityTokenResponse se almacena como una
propiedad cuando se ha invocado el método setIncludeRSTRProperties ProviderConfig (). Si la interfaz ConsumerConfig no define
un atributo que una aplicación necesita, puede recuperar y analizar el elemento RSTE en su lugar.
- com.ibm.wsspi.wssecurity.trust.config.ConsumerConfig
- com.ibm.wsspi.wssecurity.trust.config.ConsumerConfig.RSTR
- com.ibm.wsspi.wssecurity.trust.config.ProviderConfig
- com.ibm.wsspi.wssecurity.trust.config.RequesterConfig
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.Namespace
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.TokenType
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.WST12
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.WST13
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.Algorithm
- com.ibm.wsspi.wssecurity.core.token.config.WSSConstants.SAML
Para obtener información adicional sobre el uso de las API, incluidos los escenarios prácticos
que ilustran cómo y cuándo se deben aplicar las API, consulte los escenarios de uso de SAML.