Definición de un perfil técnico para un emisor de tokens de SAML en una directiva personalizada de Azure Active Directory B2C

Nota:

En Azure Active Directory B2C, las directivas personalizadas se han diseñado principalmente para abordar escenarios complejos. Para la mayoría de los escenarios, se recomienda usar flujos de usuario integrados. Si no lo ha hecho, obtenga información sobre el paquete de inicio de directivas personalizadas en Introducción a las directivas personalizadas en Active Directory B2C.

Azure Active Directory B2C (Azure AD B2C) emite varios tipos de tokens de seguridad a medida que procesa cada flujo de autenticación. Un perfil técnico de un emisor de tokens de SAML emite un token de SAML que se devuelve a la aplicación de usuario de confianza (proveedor de servicios). Este perfil técnico suele ser el último paso de orquestación en el recorrido del usuario.

Protocolo

El atributo Name del elemento Protocol tiene que establecerse en SAML2. Establezca el elemento OutputTokenFormat en SAML2.

En el ejemplo siguiente se muestra un perfil técnico de Saml2AssertionIssuer:

<TechnicalProfile Id="Saml2AssertionIssuer">
  <DisplayName>Token Issuer</DisplayName>
  <Protocol Name="SAML2"/>
  <OutputTokenFormat>SAML2</OutputTokenFormat>
  <Metadata>
    <Item Key="IssuerUri">https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signin_SAML</Item>
    <Item Key="TokenNotBeforeSkewInSeconds">600</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="MetadataSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
    <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
  </CryptographicKeys>
  <InputClaims/>
  <OutputClaims/>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
</TechnicalProfile>

Notificaciones de entrada, de salida y persistentes

Los elementos InputClaims, OutputClaims y PersistClaims están vacíos o faltan. Los elementos InutputClaimsTransformations y OutputClaimsTransformations faltan también.

Metadatos

Atributo Obligatorio Descripción
IssuerUri No Nombre del emisor que aparece en la respuesta de SAML. El valor debe ser el mismo nombre que el configurado en la aplicación de usuario de confianza.
XmlSignatureAlgorithm No El método que usa Azure AD B2C para firmar la aserción SAML. Valores posibles: Sha256, Sha384, Sha512 o Sha1. Asegúrese de configurar el algoritmo de firma en ambos lados con el mismo valor. Use solo el algoritmo que admite el certificado. Para configurar la respuesta SAML, consulte las Opciones para registrar una aplicación SAML.
TokenNotBeforeSkewInSeconds No Especifica el sesgo, como un entero, para la marca de tiempo que marca el inicio del período de validez. Cuanto mayor sea este número, más remoto será el inicio del período de validez con respecto al momento en que se emiten las reclamaciones para el usuario de confianza. Por ejemplo, si el valor de TokenNotBeforeSkewInSeconds se establece en 60 segundos, si el token se emite a las 13:05:10 UTC, el token es válido a partir de 13:04:10 UTC. El valor predeterminado es 0. El valor máximo es 3600 (una hora).
TokenLifeTimeInSeconds No Especifica la duración de la aserción SAML. Este valor se especifica en segundos desde el valor NotBefore al que se ha hecho referencia anteriormente. El valor predeterminado es de 300 segundos (5 minutos).

Claves de cifrado

El elemento CryptographicKeys contiene los siguientes atributos:

Atributo Obligatorio Descripción
MetadataSigning El certificado X509 (conjunto de claves RSA) que se va a usar para firmar los metadatos SAML. Azure AD B2C usa esta clave para firmar los metadatos.
SamlMessageSigning Especifique el certificado X509 (conjunto de claves RSA) que se va a usar para firmar los mensajes de SAML. Azure AD B2C usa esta clave para firmar la respuesta <samlp:Response> enviada al usuario de confianza.
SamlAssertionSigning No Especifique el certificado X509 (conjunto de claves RSA) que se va a usar para firmar el elemento <saml:Assertion> de aserción de SAML del token SAML. Si no se proporciona, se usa la clave criptográfica SamlMessageSigning en su lugar.

Administración de sesiones

Para configurar las sesiones de SAML de Azure AD B2C entre una aplicación de usuario de confianza, el atributo del elemento UseTechnicalProfileForSessionManagement, haga referencia a la sesión de inicio de sesión único SamlSSOSessionProvider.

Pasos siguientes

Consulte el siguiente artículo para obtener un ejemplo del uso de un perfil técnico del emisor de SAML: