Ejemplo: envío de atributos con OAM y IdP

A continuación, se muestran ejemplos de cómo configurar IdP para enviar atributos:

Los atributos enviados se basan en:

La Consola de Administración de OAM

Esta sección trata sobre cómo configurar IdP para enviar atributos a través de la consola de administración. El ejemplo se basa en una federación con un partner de SP de SAML 2.0 remoto y IdP está configurado para:

Cree un nuevo perfil de atributo de SP y asígnelo a acmeSP. Más adelante, si se incorporan nuevos socios de SP, es posible asignar el perfil de atributo de SP existente para que IdP envíe los mismos atributos a esos nuevos SP.

Creación de un Perfil de Atributo de Proveedor de Servicios

Para crear un nuevo perfil de atributo de SP, realice los siguientes pasos:

  1. Vaya a la consola de administración de OAM: http(s)://oam-admin-host:oam-admin- port/oamconsole.

  2. Vaya a Identity Federation, Administración de proveedores de identidad.

  3. Haga clic en el separador Perfiles de atributos de proveedor de servicios.

  4. Haga clic en el botón Crear perfil de atributo de proveedor de servicios.

Descripción de la ilustración Create_SP_Attribute_Profile.jpg

  1. Configure la información básica sobre el nuevo perfil de atributo de SP:

    • Introduzca un nombre

    • Introduzca una descripción si es necesario

    Nota: Si se marca "Perfil de atributo de socio de SP por defecto", se asigna previamente al perfil de atributo de SP cuando se crea un nuevo socio de SP mediante la interfaz de usuario y será el perfil de atributo de SP utilizado para los socios de SP que no tienen asignado un perfil de atributo de SP (por ejemplo, los creados mediante comandos WLST).

    Descripción de la ilustración Default_SP_Partner_Attribute_Profile.jpg

Agregue los atributos necesarios enumerados anteriormente. Realice las siguientes operaciones para agregar el atributo Correo electrónico:

  1. Haga clic en el botón Agregar entrada de la tabla Asignación de atributos.

  2. Configure el atributo de correo electrónico:

    1. Nombre de atributo de mensaje: Correo electrónico

    2. Valor: seleccione el usuario, a continuación, attr y, a continuación, introduzca el atributo LDAP que contiene la dirección de correo electrónico y el correo en este caso

    3. Enviar siempre: marcado

Descripción de la ilustración Add_Email_Attribute.jpg

Realice las siguientes operaciones para agregar el atributo Name:

  1. Haga clic en el botón Agregar entrada de la tabla Asignación de atributos.

  2. Configure el atributo Name:

    1. Nombre de atributo de mensaje: nombre

    2. Valor: seleccione la expresión y, a continuación, introduzca la siguiente cadena (en este ejemplo, el atributo LDAP givenname contiene el nombre y el apellido): mi nombre es $user.attr.givenname $user.attr.sn

    3. Enviar siempre: marcado

    Descripción de la ilustración Add_Name_Attribute.jpg

Realice las siguientes operaciones para agregar el atributo UserID:

  1. Haga clic en el botón Agregar entrada de la tabla Asignación de atributos.

  2. Configure el atributo UserID:

    1. Nombre de atributo de mensaje: UserID

    2. Valor: seleccione el usuario y, a continuación, userid

    3. Enviar siempre: marcado

    Descripción de la ilustración Add_UserID_Attribute.jpg

Realice las siguientes operaciones para agregar el atributo SessionCount:

  1. Haga clic en el botón Agregar entrada de la tabla Asignación de atributos.

  2. Configure el atributo SessionCount:

    1. Nombre de atributo de mensaje: SessionCount

    2. Valor: seleccione la sesión y, a continuación, el recuento.

    3. Enviar siempre: marcado

    Descripción de la ilustración Add_SessionCount_Attribute.jpg

Realice las siguientes operaciones para agregar el atributo IPAddress:

  1. Haga clic en el botón Agregar entrada de la tabla Asignación de atributos.

  2. Configure el atributo IPAddress:

    1. Nombre de atributo de mensaje: IPAddress

    2. Valor: seleccione la solicitud y, a continuación, client_ip

    3. Enviar siempre: marcado

    Descripción de la ilustración Add_IPAddress_Attribute.jpg

El perfil de atributo de SP ahora está configurado para enviar los atributos necesarios a los socios de SP enlazados a este perfil

Descripción de la ilustración SP_Attribute_Profile.jpg

Actualice el socio de SP para utilizar el nuevo perfil de atributo de SP y configure los valores de NameID:

  1. Vaya a la consola de administración de OAM: http(s)://oam-admin-host:oam-admin- port/oamconsole.

  2. Vaya a Identity Federation, Administración de proveedores de identidad.

  3. Haga clic en Buscar partners de proveedor de servicios.

  4. Abra el socio de SP deseado.

  5. Seleccione Unspeci9ed como formato NameID.

  6. Para NameID, seleccione User ID Store Attribute y, a continuación, introduzca uid como atributo de LDAP que contiene userID.

Nota: Seleccione Expresión en la lista desplegable e introduzca una expresión similar a la utilizada anteriormente.

  1. En la sección Asignación de Atributos, seleccione el perfil de atributo de proveedor de servicios recién creado como perfil de atributo.

  2. Haga clic en Guardar.

Descripción de la ilustración SP_Partner_Update.jpg

Nota sobre Enviar siempre

El perfil de atributo de SP se utiliza para varios protocolos, entre los que se incluyen:

Afirmación de SAML

Según un usuario con las siguientes características, IdP genera una afirmación de SAML similar a la que se muestra a continuación:

Afirmación de SAML generada por IdP para alice:

 <samlp:Response ...>
 <saml:Issuer ...>https://idp.com</saml:Issuer>

  <samlp:Status>

  <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>

  </samlp:Status>

 <saml:Assertion ...>

  <saml:Issuer ...>https://idp.com</saml:Issuer>

  <dsig:Signature>

  ...

  </dsig:Signature>

 <saml:Subject>

  <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid- format:unspeci9ed">alice</saml:NameID>

  ...

 </saml:Subject>
 <saml:Conditions NotBefore="2014-02-26T20:35:00Z" NotOnOrAfter="2014-02-26T22:35:00Z">
 <saml:AudienceRestriction>

  <saml:Audience>https://acme.com/sp</saml:Audience>

 </saml:AudienceRestriction>
 </saml:Conditions>
 <saml:AuthnStatement AuthnInstant="2014-02-26T20:35:00Z" ...>
 <saml:AuthnContext>

  <saml:AuthnContextClassRef>urn:...:Password</saml:AuthnContextClassRef>

 </saml:AuthnContext>
 </saml:AuthnStatement>
 <saml:AAributeStatement>
 <saml:Attribute Name="Name" ...>

  <saml:AAributeValue ...>My name is Alice Appleton</saml:AAributeValue>

  </saml:AAribute>

 <saml:Attribute Name="SessionCount" ...>
 <saml:AAributeValue ...>1</saml:AAributeValue>
 </saml:AAribute>
 <saml:Attribute Name="Email" ...>
 <saml:AAributeValue ...>alice@idp.com</saml:AAributeValue>
 </saml:AAribute>
 <saml:Attribute Name="IPAddress" ...>
 <saml:AAributeValue ...>10.145.120.253</saml:AAributeValue>
 </saml:AAribute>
 <saml:Attribute Name="UserID" ...>
 <saml:AAributeValue ...>alice</saml:AAributeValue>
 </saml:AAribute>
 </saml:AAributeStatement>
 </saml:Assertion>
 </samlp:Response>

Comandos WLST

Esta sección trata sobre cómo configurar IdP para enviar atributos mediante los comandos WLST de OAM. El siguiente ejemplo se basa en una federación con un partner de SP remoto OpenID 2.0 y IdP está configurado para:

Envíe los siguientes atributos:

Para ello, cree un nuevo perfil de atributo de SP y asígnelo a acmeRP. Si se incorporan nuevos socios de RP, es posible asignar el perfil de atributo de SP existente para que IdP envíe los mismos atributos a esos nuevos SP.

Supongamos que ya está en el entorno WLST y conectado mediante:

  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().

Configurar Nuevo Perfil de Atributo de Proveedor de Servicios

Para configurar el nuevo perfil de atributo de SP, ejecute los siguientes pasos:

  1. Cree un nuevo perfil de atributo de SP createSPPartnerAAributeProfile("openIDAArProfile").

  2. Especifique el nombre del nuevo perfil de atributo de SP.

  3. Cree el atributo de correo electrónico setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://axschema.org/contact/email", "$user.attr.mail").

  4. Especifique el nombre del perfil de atributo de SP que desea modificar.

  5. Especifique el nombre del atributo OpenID en http://axschema.org/contact/email.

  6. Defina el valor en el atributo LDAP que contiene la dirección de correo electrónico, correo en este caso: $user.attr.mail.

  7. Cree el atributo de nombre setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://openid.net/schema/namePerson/friendly", "My name is $user.attr.givenname $user.attr.sn").

  8. Especifique el nombre del perfil de atributo de SP que desea modificar.

  9. Especifique el nombre del atributo OpenID en http://openid.net/schema/namePerson/friendly.

  10. Defina el valor en (en este ejemplo, el atributo LDAP proporcionado contiene el nombre 9rst y sn el apellido): mi nombre es $user.attr.givenname $user.attr.sn.

  11. Cree el atributo UserID: setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://schemas.openid.net/ax/api/user_id", "$user.userid").

  12. Especifique el nombre del perfil de atributo de SP que desea modificar.

  13. Especifique el nombre del atributo OpenID en <http://schemas.openid.net/ax/api/user_id>.

  14. Defina el valor en el atributo LDAP que contiene la dirección de correo electrónico, correo en este caso: $user.attr.uid.

  15. Cree el atributo de recuento de sesiones de OAM setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://session/count", "$session.count").

  16. Especifique el nombre del perfil de atributo de SP que desea modificar.

  17. Especifique el nombre del atributo OpenID en <http://session/count>.

  18. Defina el valor en: $session.count.

  19. Cree el atributo de dirección IP del cliente setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://session/ipaddress", "$request.client_ip").

  20. Especifique el nombre del perfil de atributo de SP que desea modificar.

  21. Especifique el nombre del atributo OpenID en <http://session/ipaddress>.

  22. Defina el valor en: $request.client_ip.

Para actualizar el socio de SP para utilizar ese perfil de atributo de SP, ejecute:

OpenID Respuesta

Según un usuario con las siguientes características, IdP genera una respuesta OpenID similar a la que se muestra a continuación:

OpenID Respuesta generada por IdP para alice:

https://acme.com/sp/openidv20?re9d=id-UnaYvk-mDQy6ZQB-4R39L4An4B0-& openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res& openid.op_endpoint=http%3A%2F%2Fadc00pcc.us.oracle.com%3A23002%2Foamfed%2Fidp%2Fopenidv20& openid.claimed_id=http%3A%2F%2Fadc00pcc.us.oracle.com%3A23002%2Foamfed%2Fidp%2Fopenidv20%3Fid%3Did- p4rWL%2FjzZAKwxAYLA%2FjOtP7s6fqjdyQ2BiSWZduaR5c%3D&openid.identity=http%3A%2F%2Fadc00pcc.us.oracle.com%3A23002%2Foamfed%2Fidp%2Fopenidv20%3Fid%3Did- p4rWL%2FjzZAKwxAYLA%2FjOtP7s6fqjdyQ2BiSWZduaR5c%3D& openid.return_to=http%3A%2F%2Fadc00peq.us.oracle.com%3A7499%2Ffed%2Fsp%2Fopenidv20%3Fre9d%3Did-UnaYvk-mDQy6ZQB-4R39L4An4B0-&openid.response_nonce=2014-02-26T21%3A35%3A08Zid- uTAXy9lDK7TVvgezZVY3XZ06iSDcZb97zxiOl0qw&openid.assoc_handle=id-n-nN- qW2VAZa75-XJshWpmVHK53Yz0-lTZtrtsJm&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ax.mode=fetch_response& openid.ax.type.attr0=http%3A%2F%2Fsession%2Fcount&openid.ax.value.attr0=2& openid.ax.type.attr1=http%3A%2F%2Fopenid.net%2Fschema%2FnamePerson%2Ffriendly& openid.ax.value.attr1=My+name+is+Alice+Appleton&openid.ax.type.attr2=http%3A%2F%2Fschemas.openid.net%2Fax%2Fapi%2Fuser_id& openid.ax.value.attr2=alice&openid.ax.type.attr3=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ax.value.attr3=alice%40idp.com& openid.ax.type.attr4=http%3A%2F%2Fsession%2Fipaddress& openid.ax.value.attr4=10.145.120.253&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cns.ax%2Cax.mode%2Cax.type.attr0%2Cax.value.attr0%2Cax.type.attr1%2Cax.value.attr1%2Cax. openid.sig=TeDo%2FouX%2BXRI%2F1G8kJVsw5JOVY8%3D

Los parámetros de consulta de URL descodificados relacionados con los atributos son:

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.