Saltar al contenido principal
Cuando Auth0 es el , puede asignar atributos de usuario mediante el complemento SAML2 de Auth0. Pueden producirse errores si los atributos están mal configurados. Por ejemplo, un usuario introduce correctamente su nombre de usuario y contraseña, pero no consigue iniciar sesión en la aplicación aunque los registros del muestren eventos de inicio de sesión correctos. O bien, puede que a la aplicación le falte información del usuario, como el nombre o el correo electrónico.

Casos de uso

El perfil de usuario que aparece a continuación sirve de ejemplo para los siguientes escenarios.
//EJEMPLO de perfil de usuario de IdP
{
   "created_at": "2021-06-21T13:26:08.579Z",
   "email": "testuser@example.com",
...
   "fav_genre": "fiction",
   "user_metadata": {
       "fav_streaming_service": "hulu"
   }
...
}

Sin objeto de asignaciones

Al usar el complemento SAML2, se genera de forma predeterminada un objeto de asignaciones vacío. En este ejemplo, fav_genre y user_metadata.fav_streaming_service no están definidos, pero se pueden personalizar y asignar a la generada por Auth0. En el ejemplo siguiente, "fav_genre": "fiction" se asigna al atributo  http://schemas.auth0.com/fav_genre en la respuesta SAML con el valor fiction, mientras que "user_metadata": {"fav_streaming_service": "hulu"} no aparece en absoluto en la respuesta SAML. Respuesta SAML resultante que envía el IdP:
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="_e30cb5f29249a82846eb" InResponseTo="_e33996d83f953ce46225185b3a1c0ad8" Version="2.0" IssueInstant="2021-11-03T21:34:42.493Z" Destination="https://example-dev-tenant.us.auth0.com/login/callback">
...
       <saml:AttributeStatement xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
           <saml:Attribute Name="http://schemas.auth0.com/fav_genre" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
               <saml:AttributeValue xsi:type="xs:string">
                   fiction
               </saml:AttributeValue>
           </saml:Attribute>
...
       </saml:AttributeStatement>
   </saml:Assertion>
</samlp:Response>

Ejemplo de asignaciones estándar

En el ejemplo anterior, no personalizar el objeto de asignaciones dio como resultado un atributo http://schemas.auth0.com/fav_genre en la respuesta SAML con el valor "fiction". A continuación, asigne los atributos en el objeto de asignaciones de la configuración del complemento SAML2 para reflejarlo. Después de hacerlo, observe cómo el valor "fiction" sigue siendo el mismo en la respuesta SAML, pero el nombre del atributo en la respuesta SAML ha cambiado del valor predeterminado http://schemas.auth0.com/fav_fiction a http://schemas.auth0.com/books. Configuración del objeto de asignaciones del complemento SAML2:
"mappings": {
   "fav_genre": "http://schemas.auth0.com/books"
 }
Esta asignación genera la siguiente respuesta:
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="_e30cb5f29249a82846eb" InResponseTo="_e33996d83f953ce46225185b3a1c0ad8" Version="2.0" IssueInstant="2021-11-03T21:34:42.493Z" Destination="https://example-dev-tenant.us.auth0.com/login/callback">
...
       <saml:AttributeStatement xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
           <saml:Attribute Name="http://schemas.auth0.com/books" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
               <saml:AttributeValue xsi:type="xs:string">
                   fiction
               </saml:AttributeValue>
           </saml:Attribute>
...
       </saml:AttributeStatement>
   </saml:Assertion>
</samlp:Response>

Asignar el mismo valor a varios atributos

Puede haber situaciones en las que sea necesario asignar varios atributos al mismo valor de la respuesta SAML. En este caso, existe la opción de asignar el mismo valor del perfil del usuario a varios atributos de la respuesta SAML. Cómo configurar el objeto de asignaciones del complemento SAML2:
"mappings": {
   "fav_genre": [
     "http://schemas.auth0.com/movies",
     "http://schemas.auth0.com/books",
     "http://schemas.auth0.com/television"
   ]
 }
Esta asignación produce la siguiente respuesta:
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="_e30cb5f29249a82846eb" InResponseTo="_e33996d83f953ce46225185b3a1c0ad8" Version="2.0" IssueInstant="2021-11-03T21:34:42.493Z" Destination="https://example-dev-tenant.us.auth0.com/login/callback">
...
       <saml:AttributeStatement xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
           <saml:Attribute Name="http://schemas.auth0.com/movies" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
               <saml:AttributeValue xsi:type="xs:string">
                   fiction
               </saml:AttributeValue>
           </saml:Attribute>
           <saml:Attribute Name="http://schemas.auth0.com/books" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
               <saml:AttributeValue xsi:type="xs:string">
                   fiction
               </saml:AttributeValue>
           </saml:Attribute>
           <saml:Attribute Name="http://schemas.auth0.com/television" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
               <saml:AttributeValue xsi:type="xs:string">
                   fiction
               </saml:AttributeValue>
           </saml:Attribute>
...
       </saml:AttributeStatement>
   </saml:Assertion>
</samlp:Response>