Compartir a través de


Configuración de la seguridad de transmisión con Azure Active Directory B2C para la autenticación de claves de acceso

Importante

A partir del 1 de mayo de 2025, Azure AD B2C ya no estará disponible para ser adquirido por nuevos clientes. Obtenga más información en nuestras preguntas más frecuentes.

En este tutorial, aprenderá a integrar la autenticación de Azure Active Directory B2C (Azure AD B2C) con la solución de autenticación de claves de acceso hospedadas de Transmit Security. Transmit Security usa una autenticación biométrica segura de Fast Identity Online (FIDO2) para la autenticación omnicanal confiable. La solución garantiza una experiencia de inicio de sesión fluida para los clientes en todos los dispositivos y canales, al tiempo que reduce el fraude, la suplantación de identidad y la reutilización de credenciales.

Descripción del escenario

En el diagrama de arquitectura siguiente se muestra la implementación:

Diagrama de la arquitectura Transmit y Azure AD B2C.

  1. El usuario abre la página de inicio de sesión de Azure AD B2C e inicia sesión o se registra.
  2. Azure AD B2C redirige al usuario a Transmit Security mediante una solicitud de OpenID Connect (OIDC).
  3. Transmit Security autentica al usuario utilizando biometría FIDO2 sin aplicación, como la huella digital.
  4. Se devuelve una respuesta de autenticación descentralizada a Transmit Security.
  5. La respuesta OIDC pasa a Azure AD B2C.
  6. El usuario se concede o deniega el acceso a la aplicación, en función de los resultados de la comprobación.

Prerrequisitos

Para empezar, necesita lo siguiente:

Paso 1: Crear una aplicación de transmisión

Inicie sesión en el Portal de administración de transmisión y cree una aplicación:

  1. En Aplicaciones, seleccione Agregar aplicación.

  2. Configure la aplicación con los atributos siguientes:

    Propiedad Descripción
    Nombre de la aplicación Nombre de la aplicación
    Nombre de cliente Nombre del cliente
    URI de redirección https://<your-B2C-tenant>.b2clogin.com/<your-B2C-tenant>.onmicrosoft.com/oauth2/authresp donde <your-B2C-tenant> es el dominio de inquilino de Azure AD B2C (o <your-B2C-tenant>.b2clogin.com es su dominio personalizado)
  3. Selecciona Agregar.

  4. Tras el registro, aparecerá un identificador de cliente y un secreto de cliente . Registre los valores que se van a usar más adelante.

Paso 2: Configuración de la experiencia de inicio de sesión

En el Portal de administración de transmisión, configure la experiencia de autenticación de usuario:

  1. Seleccione Autenticación y, a continuación, seleccione Administración de experiencias.

  2. En el menú desplegable, seleccione la aplicación.

  3. Configure la aplicación con los atributos siguientes:

    Propiedad Descripción
    Identificador de usuario Seleccione Correo electrónico.
    Método de autenticación principal Seleccione Passkey (Clave de acceso)
    Método de autenticación secundario Habilitar solo WebAuthn QR y Email OTP
    Selección de la información del usuario Eliminar todos los campos predeterminados
  4. Haga clic en Guardar.

Paso 3: Agregar Transmit como proveedor de identidad

Para permitir que los usuarios inicien sesión con Transmit Security, configure Transmit Security como un nuevo proveedor de identidades. En Azure AD B2C, siga estos pasos:

  1. Inicie sesión en Azure Portal como administrador de directivas de IEF de B2C como mínimo.

  2. En la barra de herramientas del portal, seleccione Directorios y suscripciones.

  3. En la configuración del portal | Directorios y suscripciones página, en la lista Nombre del directorio, busque el directorio de Azure AD B2C y, a continuación, seleccione Cambiar.

  4. En Servicios de Azure, seleccione Azure AD B2C (o seleccione Más servicios y use el cuadro de búsqueda Todos los servicios para buscar Azure AD B2C).

  5. Seleccione Proveedores de identidades y, a continuación, seleccione Nuevo proveedor de OpenID Connect.

  6. Configure el proveedor de la siguiente manera:

    Propiedad Descripción
    Nombre Nombre, como Transmit Security
    Dirección URL de los metadatos https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration
    Id. de cliente Id. de cliente proporcionado por Transmit
    Secreto de cliente Secreto de cliente proporcionado por Transmit
    Ámbito openid email
    Tipo de respuesta código
    Modo de respuesta envío_de_formulario
    Nombre para mostrar email
    Correo electrónico email
  7. Haga clic en Guardar.

Paso 4: Creación de un flujo de usuario

En este momento, se ha configurado el proveedor de identidades de Transmit Security, pero aún no está disponible en ninguna de las páginas de inicio de sesión. Para agregar el proveedor de identidades de Transmit Security a un flujo de usuario:

  1. En el inquilino de Azure AD B2C, en Directivas, seleccione Flujos de usuario.
  2. Seleccione Nuevo flujo de usuario.
  3. Seleccione Registrarse e iniciar sesión en el tipo de flujo de usuario y, a continuación, seleccione Crear.
  4. Escriba un nombre para el flujo de usuario, como signupsignin.
  5. En Proveedores de identidades:
    • En Cuentas locales, seleccione Ninguno.
    • En Proveedores de identidades personalizados, seleccione el proveedor Transmit Security.
  6. Seleccione Crear para agregar el flujo de usuario.

Paso 5: Probar el flujo de usuario

  1. En el inquilino de Azure AD B2C, seleccione Flujos de usuario.
  2. Seleccione el flujo de usuario creado, como B2C_1_signupsignin.
  3. Seleccione Ejecutar flujo de usuario:
    • En Aplicación, seleccione la aplicación web registrada.
    • En URL de respuesta, seleccione https://jwt.ms.
  4. Seleccione Ejecutar flujo de usuario.
  5. El explorador se redirige a la página de inicio de sesión de Transmit.
  6. Complete el flujo de inicio de sesión: escriba el correo electrónico de la cuenta y autentíquese mediante biometría (por ejemplo, huella digital).
  7. El explorador se redirige a https://jwt.ms con un token de Azure AD B2C.

Paso 3: Crear una clave de directiva

Debe almacenar el secreto de cliente de la aplicación Transmit que registró anteriormente en el inquilino de Azure AD B2C.

  1. Inicie sesión en Azure Portal.

  2. En la barra de herramientas del portal, seleccione Directorios y suscripciones.

  3. En la configuración del portal | Directorios y suscripciones página, en la lista Nombre del directorio, busque el directorio de Azure AD B2C y, a continuación, seleccione Cambiar.

  4. En la página Información general, en Directivas, seleccione Identity Experience Framework.

  5. Seleccione Claves de directiva y, luego, Agregar.

  6. Configure la clave de directiva de la siguiente manera:

    Propiedad Descripción
    Opciones Manual
    Nombre Nombre de clave de directiva, como TransmitClientSecret
    Secreto Secreto de cliente proporcionado por Transmit
    Uso de la clave Signature
  7. Seleccione Crear para agregar la clave de directiva.

Paso 4: Agregar Transmit como proveedor de identidad

Para habilitar el inicio de sesión con Transmit Security, defina Transmit Security como proveedor de reclamaciones con el que Azure AD B2C se comunica a través de un extremo del servicio. El punto de conexión proporciona afirmaciones que Azure AD B2C usa para comprobar que un usuario se ha autenticado con una identidad digital en un dispositivo.

Puede definir Transmit Security como un proveedor de reclamaciones agregándolo al elemento ClaimsProviders en el archivo de extensión de su directiva.

  1. Consiga los paquetes de directivas personalizadas de GitHub y actualice los archivos XML del paquete SocialAndLocalAccounts de inicio para incluir el nombre de su inquilino de Azure AD B2C:

    1. Descargue el archivo .zip o clone el repositorio:

      git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
      
    2. En los archivos del directorio LocalAccounts , reemplace la cadena yourtenant por el nombre del inquilino de Azure AD B2C.

  2. Abra LocalAccounts/ TrustFrameworkExtensions.xml.

  3. Busque el elemento ClaimsProviders. Si no aparece, agréguelo bajo el elemento raíz.

  4. Agregue un nuevo ClaimsProvider similar al ejemplo siguiente:

     <ClaimsProvider>
         <Domain>api.transmitsecurity.io</Domain>
         <DisplayName>Transmit</DisplayName>
         <TechnicalProfiles>
           <TechnicalProfile Id="TS-OpenIdConnect">
             <DisplayName>Transmit</DisplayName>
             <Protocol Name="OpenIdConnect" />
             <Metadata>
               <Item Key="METADATA">https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration</Item>
                <!-- Update the Client ID below to the Transmit Security client ID -->
               <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
               <Item Key="response_types">code</Item>
               <Item Key="scope">openid email</Item>
               <Item Key="response_mode">form_post</Item>
               <Item Key="HttpBinding">POST</Item>
               <Item Key="UsePolicyInRedirectUri">false</Item>
               <Item Key="AccessTokenResponseFormat">json</Item>
             </Metadata>
             <CryptographicKeys>
               <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
             </CryptographicKeys>
             <OutputClaims>
               <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
               <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
               <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
               <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
             </OutputClaims>
             <OutputClaimsTransformations>
               <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
               <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
               <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
             </OutputClaimsTransformations>
             <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
           </TechnicalProfile>
         </TechnicalProfiles>
       </ClaimsProvider>    
    
  5. Establezca client_id con el identificador de cliente de Transmit Security.

  6. Actualice la sección client_secret con el nombre de la clave de directiva que creó (por ejemplo, B2C_1A_TransmitClientSecret):

    <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
    
  7. Haga clic en Guardar.

Paso 5: Agregar un recorrido del usuario

En este momento, el proveedor de identidades está configurado, pero aún no está disponible en ninguna de las páginas de inicio de sesión. Si tiene un recorrido de usuario personalizado, continúe con el paso Agregar transmisión al recorrido del usuario . De lo contrario, cree un duplicado de plantilla de un recorrido de usuario:

  1. En el paquete de inicio, abra el LocalAccounts/ TrustFrameworkBase.xml archivo.
  2. Busque y copie el contenido del elemento UserJourney que incluye Id=SignUpOrSignIn.
  3. Abra LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Busque el elemento UserJourneys . Si no hay ningún elemento, agregue uno.
  5. Pegue el elemento UserJourney como elemento hijo del elemento UserJourneys.
  6. Cambie el nombre del identificador de recorrido del usuario (por ejemplo, Id=TransmitSUSI)

Paso 6: Agregar transmisión al recorrido del usuario

Agregue el nuevo proveedor de identidades a la experiencia del usuario.

  1. Busque el elemento del paso de orquestación que incluye Type=CombinedSignInAndSignUp o Type=ClaimsProviderSelectionen el recorrido del usuario. Normalmente es el primer paso de orquestación. El elemento ClaimsProviderSelections tiene una lista de proveedores de identidades con la que los usuarios inician sesión. El orden de los elementos controla el orden de los botones de inicio de sesión.
  2. Agregue un elemento XML ClaimsProviderSelection.
  3. Establezca el valor de TargetClaimsExchangeId en un nombre descriptivo.
  4. Agregue un elemento ClaimsExchange .
  5. Establezca el id. en el valor del id. de intercambio de notificaciones de destino.
  6. Actualice el valor technicalProfileReferenceId al identificador de perfil técnico que creó.

El siguiente XML muestra el recorrido del usuario de orquestación con el proveedor de identidades:

    <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
      <ClaimsProviderSelections>
        ...
        <ClaimsProviderSelection TargetClaimsExchangeId="TSIDExchange" />
      </ClaimsProviderSelections>
      ...
    </OrchestrationStep>

    <OrchestrationStep Order="2" Type="ClaimsExchange">
      ...
      <ClaimsExchanges>
        <ClaimsExchange Id="TSIDExchange" TechnicalProfileReferenceId="TS-OpenIdConnect" />
      </ClaimsExchanges>
    </OrchestrationStep>

Paso 7: Configuración de la directiva de usuario de confianza

La directiva de usuario de confianza, por ejemplo SignUpSignIn.xml, especifica el recorrido del usuario que ejecutará Azure AD B2C. Busque el elemento DefaultUserJourney en la parte dependiente. Actualice ReferenceId para que coincida con el identificador del recorrido del usuario, en el que agregó el proveedor de identidades.

En el ejemplo siguiente, para el recorrido de usuario TransmitSUSI, el ReferenceId está establecido en TransmitSUSI:

  <RelyingParty>
    <DefaultUserJourney ReferenceId="TransmitSUSI" />
    <TechnicalProfile Id="TS-OpenIdConnect">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>

Paso 8: Cargar la directiva personalizada

Utilizando el directorio de su instancia de Azure AD B2C, suba la directiva personalizada.

  1. Inicie sesión en Azure Portal.
  2. En la barra de herramientas del portal, seleccione Directorios y suscripciones.
  3. En la configuración del portal | Directorios y suscripciones página, en la lista Nombre del directorio, busque el directorio de Azure AD B2C y, a continuación, seleccione Cambiar.
  4. En Directivas, seleccione Identity Experience Framework.
  5. Seleccione Cargar directiva personalizada y, a continuación, cargue los archivos actualizados en el orden siguiente:
  • Directiva base, por ejemplo TrustFrameworkBase.xml
  • Directiva de localización, por ejemplo TrustFrameworkLocalization.xml
  • Política de extensión, por ejemplo TrustFrameworkExtensions.xml
  • A continuación, la directiva de usuario de confianza, por ejemplo SignUpOrSignIn.xml

Paso 9: Prueba de la directiva personalizada

Utilizando el directorio de tu instancia de Azure AD B2C, prueba tu directiva personalizada.

  1. Abra el inquilino de Azure AD B2C y, en Directivas, seleccione Identity Experience Framework.
  2. En Directivas personalizadas, seleccione B2C_1A_signup_signin.
  3. En Aplicación, seleccione la aplicación web que registró. La dirección URL de respuesta es https://jwt.ms.
  4. Seleccione Ejecutar ahora.
  5. El explorador se redirige a la página de inicio de sesión de Transmit.
  6. Complete el flujo de inicio de sesión: escriba el correo electrónico de la cuenta y autentíquese mediante biometría (por ejemplo, huella digital).
  7. El explorador se redirige a https://jwt.ms con un token de Azure AD B2C.

Pasos siguientes

Para más información, consulte los artículos siguientes: