Uso de la aplicación Probar SP en OAM/SP

En este artículo se muestra cómo activar y utilizar la aplicación Probar SP en OAM/SP, que es muy útil cuando OAM es un SP y se configuran acuerdos de federación. Proporciona las siguientes capacidades:

Esta herramienta es muy útil para diagnosticar problemas en los flujos SAML/OpenID, antes de implementar SSO de federación.

Se trata de una aplicación web que ejerce la funcionalidad SP de OAM a través de un explorador sin crear ninguna sesión de OAM:

Activación/Desactivación del Motor del SP de Pruebas

Inicialmente, la aplicación Test SP está desactivada y debe activarla antes de poder utilizarla.

Nota: Cuando haya terminado de usar la aplicación Probar SP, debe desactivarla.

Para activar o desactivar la aplicación Probar SP, debe ejecutar los siguientes comandos de OAM WLST:

  1. Introduzca el entorno WLST ejecutando: $IAM_ORACLE_HOME/common/bin/wlst.sh.

  2. Conéctese al servidor de administración de WLS: connect().

  3. Navegue a la rama Domain Runtime: domainRuntime().

  4. Ejecute el comando TestSPEngine():

    1. Para activar el motor de prueba de SP: configureTestSPEngine("true")

    2. Para desactivar el motor de prueba de SP: configureTestSPEngine("false")

  5. Salga del entorno WLST: exit().

Uso del Motor SP de Pruebas

Inicio de SSO de Federación

El inicio del flujo de SSO de federación implica:

La URL que se utilizará para acceder a la aplicación Probar SP es: http(s)://oam-runtime-host:oam-runtime-port/oamfed/user/testspss

La aplicación Probar SP muestra una lista desplegable con una lista de IdPs para realizar SSO de federación con:

Descripción de la ilustración Initiate_Federation_SSO.jpg

Una vez que seleccione IdP, haga clic en el botón Iniciar SSO que dispara el SSO de federación con el IdP especificado:

Resultado de la operación de prueba de SP

Cuando IdP redirige al usuario con la respuesta de afirmación/OpenID de SAML a OAM/SP, el servidor valida la respuesta, la asigna a un registro de usuario de LDAP y devuelve el resultado a la aplicación Probar SP, que muestra:

Descripción de la ilustración Test_SP_Operation_Result.jpg

Diagnóstico de problemas

Si el SSO de federación entre IdP y OAM/SP no funciona, el motor del SP de prueba puede ser una buena herramienta con los logs de OAM para diagnosticar los problemas.

Asignación de problemas

Si la afirmación de SSO entrante no se puede asignar a un registro de usuario de LDAP local, la aplicación Probar SP puede mostrar:

En este ejemplo, los administradores de IdP y OAM/SP acordaron utilizar SAML 2.0 e identificar al usuario a través de la dirección de correo electrónico. El problema es que la dirección de correo electrónico de alice en IdP es alice.appleton@oralce.com, mientras que en el directorio LDAP utilizado por OAM/SP, el correo electrónico es alice@oracle.com

La aplicación Test SP muestra la siguiente información al final del flujo:

Descripción de la ilustración Mapping_Issues_Result.jpg

Los archivos log de OAM muestran el siguiente mensaje de error, así como el mensaje de SAML:

<Feb 28, 2014 7:18:05 AM PST> <Warning>

<oracle.security.fed.eventhandler.fed.proVles.sp.sso.assertion.Saml20AssertionProcessor><FED-15108> <User was not found during configure based authentication using NameIDmapping for name identifier: alice.appleton@oracle.com name identifier format :urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress and message :<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"Destination="http://adc00pcc.us.oracle.com:23002/oam/server/fed/sp/sso" ID="idaWfL5-f37nhQWh0WWjHbobsVetM-" InResponseTo="id-hqkZGMV-wEO5-CulpYxArIvr91Y14dA-WSRYZ8zP" IssueInstant="2014-02-28T15:18:05Z"Version="2.0"><saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">http://adc00peq.us.oracle.com:7499/fed/idp</saml:Issuer><samlp:Status><samlp:StatusCodeValue="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:Status><saml:Assertionxmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="id-PoODBDUeoiSY4ajPCQ86yjZWkw-"IssueInstanattributet="2014-02-28T15:18:05Z" Version="2.0"><saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">http://adc00peq.us.oracle.com:7499/fed/idp</saml:Issuer><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="#id-PoOD-BDUeoiSY4ajPCQ86yjZWkw-"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>X5ojFxrpBOS4klosM5jcBOF8Bqg=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>VJKJOBOowHZ4lVkHjX4w2YHi+0ZAa4ez/+D+ketAQcOxxtwOZPcBYERwkMgazudMh0XEMbIkwsBTVwb4tX+uV327Gjlp1hXc0uYnm2n8mZfen9Ppru6jTES4N7PoD3mOpCfFEHBUJg118DihWGLfzBWw7LMLaN2A</dsig:SignatureValue></dsig:Signature><saml:Subject><saml:NameIDFormat="urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress">alice.appleton@oracle.com</saml:NameID><saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"><saml:SubjectConfirmationData InResponseTo="id-hqkZGMV-wEO5-CulpYxArIvr91Y14dA-WSRYZ8zP" NotOnOrAfter="2014-02-28T15:23:05Z"Recipient="http://adc00pcc.us.oracle.com:23002/oam/server/fed/sp/sso"/></saml:SubjectConfirmation></saml:Subject><saml:ConditionsNotBefore="2014-02-28T15:18:05Z" NotOnOrAfter="2014-02-28T15:23:05Z"><saml:AudienceRestriction><saml:Audience>http://adc00pcc.us.oracle.com:23002/oam/fed</saml:Audience></saml:AudienceRestriction></saml:Conditions><saml:AuthnStatement AuthnInstant="2014-02-28T15:18:05Z" SessionIndex="id-2i7BY1gGnhukoBSDmrvkBIaG-NI-" SessionNotOnOrAfter="2014-02-28T16:18:05Z"><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></saml:AuthnContext></saml:AuthnStatement></saml:Assertion></samlp:Response>

Problemas de validación de respuesta

Si la afirmación de SSO entrante no se puede validar, la aplicación Probar SP puede mostrar:

En este ejemplo, los administradores de IdP y OAM/SP aceptaron utilizar SAML 2.0, pero IdP no firma la afirmación según lo requiere OAM/SP (normalmente se firma la afirmación: en este ejemplo desactivé la firma en IdP para mostrar el error). La aplicación Probar SP muestra la siguiente información al final del flujo:

Descripción de la ilustración Response_Validation_Issues_Result.jpg

Los archivos log de OAM muestran el siguiente mensaje de error, así como el mensaje de SAML:

<Feb 28, 2014 7:23:05 AM PST> <Error><oracle.security.fed.eventhandler.fed.profiles.utils.CheckUtils> <FEDSTS-18003><Assertion is not signed.><Feb 28, 2014 7:23:05 AM PST> <Error><oracle.security.fed.eventhandler.fed.profiles.sp.sso.v20.ProcessResponseEventHandler><FED-18012> <Assertion cannot be validated: <samlp:Responsexmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"Destination="http://adc00pcc.us.oracle.com:23002/oam/server/fed/sp/sso" ID="id-De7M27k5CWpBsuGzgaxwHgwqV1g-" InResponseTo="id-fX4nHKLCMcAZjHvsKfCORDZLmIDcQMpVYjqmxQb"IssueInstant="2014-02-28T15:23:05Z"Version="2.0"><saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">http://adc00peq.us.oracle.com:7499/fed/idp</saml:Issuer><samlp:Status><samlp:StatusCodeValue="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:Status><saml:Assertionxmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="id-EAdQSXjroyYNuuWbaBWZVdBtu8-"IssueInstant="2014-02-28T15:23:05Z" Version="2.0"><saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">http://adc00peq.us.oracle.com:7499/fed/idp</saml:Issuer><saml:Subject><saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress">alice@oracle.com</saml:NameID><saml:SubjectConfirmationMethod="urn:oasis:names:tc:SAML:2.0:cm:bearer"><saml:SubjectConfirmationDataInResponseTo="id-fX4nHKLCMcA-ZjHvsKfCORDZLmIDcQMpVYjqmxQb"NotOnOrAfter="2014-02-28T15:28:05Z"Recipient="http://adc00pcc.us.oracle.com:23002/oam/server/fed/sp/sso"/></saml:SubjectConfirmation></saml:Subject><saml:ConditionsNotBefore="2014-02-28T15:23:05Z" NotOnOrAfter="2014-02-28T15:28:05Z"><saml:AudienceRestriction><saml:Audience>http://adc00pcc.us.oracle.com:23002/oam/fed</saml:Audience></saml:AudienceRestriction></saml:Conditions><saml:AuthnStatement AuthnInstant="2014-02-28T15:23:05Z" SessionIndex="id--0QWpaU2AV-L7UpNvLH5Bn7Z5Xk-" SessionNotOnOrAfter="2014-02-28T16:23:05Z"><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></saml:AuthnContext></saml:AuthnStatement></saml:Assertion></samlp:Response>

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.