Saltar al contenido principal
Puede personalizar las aserciones de , así como los parámetros de los protocolos SAML y WS-Federation.

Auth0 como proveedor de identidad

Personalice las aserciones SAML cuando Auth0 actúe como al configurar el complemento en el Dashboard o mediante Rules.

Usa el Dashboard

  1. Ve a Dashboard > Applications > Applications y selecciona el nombre de la aplicación que deseas ver.
  2. Selecciona la pestaña Addons.
  3. Activa el interruptor SAML2 Web App para ver la configuración y las opciones.
    Dashboard Applications Applications Addons Tab SAML2 Web App Settings Tab
  4. En la pestaña Settings, puedes realizar varios tipos de personalizaciones, como:
    • Especificar una audiencia distinta del emisor predeterminado de la solicitud SAML.
    • Especificar un destinatario.
    • Asignar atributos del perfil a declaraciones de atributos específicas.
    • Cambiar el algoritmo de firma o de resumen.
    • Especificar si debe firmarse solo la aserción o toda la respuesta.

Usar Actions

Puede usar Actions para añadir personalizaciones más avanzadas o dinámicas a la respuesta SAML. Las personalizaciones realizadas en Actions sustituyen las personalizaciones hechas desde la vista Application Addons del Dashboard. El objeto api.samlResponse se utiliza para sustituir los atributos SAML predeterminados o añadir atributos nuevos.

Ejemplo: Cambiar la duración del token SAML y usar UPN como NameID

exports.onExecutePostLogin = async (event, api) => {
	api.samlResponse.setLifetimeInSeconds(36000);
	if (event.user.upn) {
		api.samlResponse.setAttribute('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier', 'upn');
	}
};

Ejemplo: incluir atributos de user_metadata en una aserción

exports.onExecutePostLogin = (event, api) => {
	event.user.user_metadata = event.user.user_metadata || {};
	event.user.user_metadata.color = 'purple';
	api.samlResponse.setAttribute('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/color', event.user.user_metadata.color);
};

Atributos de aserción SAML

A continuación se muestra una lista de atributos de personalización para las aserciones SAML.
AtributoTipoDescripción
audiencestringAudiencia de la aserción SAML. El valor predeterminado es el emisor en SAMLRequest.
recipientstringDestinatario de la aserción SAML (SubjectConfirmationData). El valor predeterminado es AssertionConsumerUrl de la SAMLRequest o la URL de devolución de llamada si no se envió ninguna SAMLRequest.
issuerstringIdentificador único del Proveedor de identidad SAML, con formato de URL.
mappingsobjetoAsignaciones entre el perfil de Auth0 y los atributos de salida de la aserción SAML. La asignación predeterminada se muestra arriba.
createUpnClaimbooleanoIndica si se debe crear una reclamación UPN o no. El valor predeterminado es true.
passthroughClaimsWithNoMappingbooleanoSi es true (predeterminado), por cada claim que no esté asignado al perfil común, Auth0 lo incluye en la aserción de salida. Si es false, esos claims no se mapearán.
mapUnknownClaimsAsIsbooleanoSi passthroughClaimsWithNoMapping es true y esto es false (predeterminado), Auth0 agrega el prefijo http://schema.auth0.com a cada claim no asignado al perfil común. Si es true, pasará el claim tal cual.
mapIdentitiesbooleanSi es true (valor predeterminado), agrega más información al token, como el proveedor (Google, ADFS, AD, etc.) y el token de acceso, si está disponible.
signatureAlgorithmstringAlgoritmo de firma para firmar la aserción o la respuesta SAML. El valor predeterminado es rsa-sha1.
digestAlgorithmstringAlgoritmo de hash para calcular el hash de la aserción o respuesta SAML. El valor predeterminado es sha1.
destinationobjectDestino de la respuesta SAML. Si no se especifica, será la AssertionConsumerUrl de la SAMLRequest o la URL de callback si no hubo ninguna SAMLRequest.
lifetimeInSecondsintegerVencimiento del token. El valor predeterminado es de 3600 segundos (1 hora).
signResponsebooleanSi la respuesta SAML debe firmarse o no. De forma predeterminada, se firmará la aserción SAML, pero no la respuesta SAML. Si es true, se firmará la respuesta SAML en lugar de la aserción SAML.
nameIdentifierFormatstringEl valor predeterminado es urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.
nameIdentifierProbesarrayAuth0 probará cada uno de los atributos de este array en orden. Si uno de ellos tiene un valor, usará ese para Subject/NameID. El orden es: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier (mapped from user_id), http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress (mapped from email), http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name (mapped from name).
authnContextClassRefstringEl valor predeterminado es urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified.
typedAttributesbooleanEl valor predeterminado es true. Cuando se establece en true, se infiere el xs:type del elemento. Los tipos son xs:string, xs:boolean, xs:double y xs:anyType. Cuando se establece en false, todos los xs:type son xs:anyType.
includeAttributeNameFormatbooleanEl valor predeterminado es true. Cuando se establece en true, inferimos NameFormat en función del nombre del atributo. Los valores de NameFormat son urn:oasis:names:tc:SAML:2.0:attrname-format:uri, urn:oasis:names:tc:SAML:2.0:attrname-format:basic y urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified. Si se establece en false, no se establece el atributo NameFormat en la aserción.
logoutobjectControla el cierre de sesión de SAML. Puede contener dos propiedades:callback (string), que contiene la URL del servicio de cierre de sesión único del proveedor de servicios (aplicación cliente), a la que Auth0 enviará las solicitudes y respuestas de cierre de sesión, y slo_enabled(boolean), que controla si Auth0 debe notificar a los proveedores de servicios la finalización de la sesión. El valor predeterminado estrue (notificar a los proveedores de servicios).
bindingstringIndica opcionalmente el enlace de protocolo usado para las respuestas de cierre de sesión de SAML. De forma predeterminada, Auth0 usa HTTP-POST, pero puede cambiarse a HTTP-Redirect estableciendo "binding" en "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect".
signingCertcadenaIndica opcionalmente el certificado de clave pública que se utiliza para validar las solicitudes SAML. Si se establece, será obligatorio que las solicitudes SAML estén firmadas. Un valor de ejemplo sería "-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all the other lines..]-----END CERTIFICATE-----\n".

Más información