Configuración del inicio de sesión para una determinada organización de Microsoft Entra Directory en Azure Active Directory B2C

En este artículo se muestra cómo habilitar el inicio de sesión para los usuarios de una organización de Microsoft Entra específica mediante un flujo de usuario en Azure AD B2C.

Antes de comenzar, use el selector Elección de un tipo de directiva* para elegir el tipo de directiva que va a configurar. Azure Active Directory B2C ofrece dos métodos para definir el modo en que los usuarios interactúan con las aplicaciones: por medio de flujos de usuario predefinidos o de directivas personalizadas totalmente configurables. Los pasos necesarios en este artículo son diferentes para cada método.

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.

Requisitos previos

Comprobación del dominio del publicador de la aplicación

Desde noviembre de 2020, los nuevos registros de aplicación se muestran como no comprobados en el mensaje de consentimiento del usuario, a menos que se haya comprobado el dominio del publicador de la aplicacióny se haya comprobado la identidad de la empresa con Microsoft Partner Network y asociado a la aplicación. Obtenga más información sobre este cambio. Tenga en cuenta que, en los flujos de usuario de Azure AD B2C, el dominio del publicador solo aparece cuando se usa una cuenta de Microsoft u otro inquilino de Microsoft Entra como proveedor de identidades. Para cumplir estos nuevos requisitos, haga lo siguiente:

  1. Compruebe la identidad de la empresa con la cuenta de Microsoft Partner Network (MPN). Este proceso comprueba la información sobre su empresa y el contacto principal de esta.
  2. Complete el proceso de comprobación del publicador para asociar su cuenta de MPN al registro de la aplicación usando una de las siguientes opciones:

Registro de una aplicación de Microsoft Entra

Para habilitar el inicio de sesión para los usuarios con una cuenta de Microsoft Entra desde una organización de Microsoft Entra específica, en Azure Active Directory B2C (Azure AD B2C), tiene que crear una aplicación en Azure Portal. Para más información, consulte Registro de una aplicación con la plataforma de identidad de Microsoft.

  1. Inicie sesión en Azure Portal.

  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Microsoft Entra ID desde el menú Directorios y suscripciones.

  3. En el Azure Portal, busque y seleccione Microsoft Entra ID.

  4. En el menú de la izquierda, en Administrar, seleccione Registros de aplicaciones.

  5. Seleccione + Nuevo registro.

  6. Escriba el nombre de la aplicación. Por ejemplo, Azure AD B2C App.

  7. Acepte la selección predeterminada de Solo las cuentas de este directorio organizativo (solo el directorio predeterminado: inquilino único) para esta aplicación.

  8. Para la URI de redirección, acepte el valor de Web y escriba la siguiente dirección URL en minúscula, donde your-B2C-tenant-name se reemplaza por el nombre del inquilino de Azure AD B2C.

    https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
    

    Por ejemplo, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp.

    Si usa un dominio personalizado, escriba https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Reemplace your-domain-name por el dominio personalizado, y your-tenant-name por el nombre del inquilino.

  9. Seleccione Registrar. Anote el Id. de aplicación (cliente) para usarlo en un paso posterior.

  10. Seleccione Certificates & secrets (Certificados y secretos) y luego seleccione Nuevo secreto de cliente.

  11. En Descripción, escriba una descripción para el secreto, seleccione una fecha de expiración y seleccione Agregar. Registre el valor Value del secreto para usarlo en un paso posterior.

Configuración de Microsoft Entra ID como proveedor de identidades

  1. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Azure AD B2C desde el menú Directorios y suscripciones.

  2. Elija Todos los servicios en la esquina superior izquierda de Azure Portal, y busque y seleccione Azure AD B2C.

  3. Seleccione Proveedores de identidades y luego Nuevo proveedor de OpenID Connect.

  4. Escriba un nombre. Por ejemplo, escriba Contoso Microsoft Entra ID.

  5. En URL de metadatos, escriba la dirección URL siguiente y sustituya {tenant} por el nombre de dominio del inquilino de Microsoft Entra:

    https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
    

Por ejemplo, https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration. Si utiliza un dominio personalizado, reemplace contoso.com por el nombre de dominio de https://login.microsoftonline.com/contoso.com/v2.0/.well-known/openid-configuration.

  1. En Id. de cliente, escriba el identificador de aplicación que ha anotado anteriormente.

  2. En Secreto de cliente, escriba el valor del secreto de cliente que ha anotado anteriormente.

  3. En Ámbito, escriba openid profile.

  4. Deje los valores predeterminados para Tipo de respuestay Modo de respuesta.

  5. (Opcional) En Sugerencia de dominio, escriba contoso.com. Para más información, consulte Configuración de inicio de sesión directo con Azure Active Directory B2C.

  6. En Asignación de notificaciones del proveedor de identidades, seleccione las siguientes notificaciones:

    • Id. de usuario: oid
    • Nombre para mostrar: name
    • Nombre propio: given_name
    • Apellido: family_name
    • Correo electrónico: email
  7. Seleccione Guardar.

Adición del proveedor de identidades de Microsoft Entra a un flujo de usuario

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

  1. En el inquilino de Azure AD B2C, seleccione Flujos de usuario.
  2. Haga clic en el flujo de usuario donde quiera agregar el proveedor de identidades de Microsoft Entra.
  3. En Configuración, seleccione Proveedores de identidades.
  4. En Proveedores de identidades personalizadas, seleccione Contoso Microsoft Entra ID.
  5. Seleccione Guardar.
  6. Para probar la directiva, seleccione Ejecutar flujo de usuario.
  7. En Aplicación, seleccione la aplicación web que registró anteriormente. La dirección URL de respuesta debe mostrar https://jwt.ms.
  8. Seleccione el botón Ejecutar flujo de usuario.
  9. En la página de registro o de inicio de sesión, seleccione Contoso Microsoft Entra ID para iniciar sesión con la cuenta de Contoso de Microsoft Entra.

Si el proceso de inicio de sesión se completa correctamente, el explorador se redirige a https://jwt.ms, que muestra el contenido del token devuelto por Azure AD B2C.

Creación de una clave de directiva

Debe almacenar la clave de la aplicación que creó en el inquilino de Azure AD B2C.

  1. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Azure AD B2C desde el menú Directorios y suscripciones.
  2. Elija Todos los servicios en la esquina superior izquierda de Azure Portal, y busque y seleccione Azure AD B2C.
  3. En Directivas, seleccione Identity Experience Framework.
  4. Seleccione Claves de directiva y luego Agregar.
  5. En Opciones, elija Manual.
  6. Escriba un nombre para la clave de directiva. Por ejemplo, ContosoAppSecret. El prefijo B2C_1A_ se agrega automáticamente al nombre de la clave cuando se crea, por lo que su referencia en el XML de la siguiente sección es a B2C_1A_ContosoAppSecret.
  7. En Secreto, escriba el valor del secreto de cliente que registró previamente.
  8. En Uso de claves, seleccione Signature.
  9. Seleccione Crear.

Configuración de Microsoft Entra ID como proveedor de identidades

Para permitir que los usuarios inicien sesión con una cuenta de Microsoft Entra, deberá definir Microsoft Entra ID como un proveedor de notificaciones con el que Azure AD B2C pueda comunicarse mediante un punto de conexión. El punto de conexión proporciona un conjunto de notificaciones que Azure AD B2C usa para comprobar que un usuario concreto se ha autenticado.

Para definir Microsoft Entra ID como proveedor de notificaciones, agregue Microsoft Entra ID al elemento ClaimsProvider al archivo de extensión de la directiva.

  1. Abra el archivo TrustFrameworkExtensions.xml.

  2. Busque el elemento ClaimsProviders. Si no existe, agréguelo debajo del elemento raíz.

  3. Agregue un nuevo elemento ClaimsProvider tal como se muestra a continuación:

    <ClaimsProvider>
      <Domain>Contoso</Domain>
      <DisplayName>Login using Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AADContoso-OpenIdConnect">
          <DisplayName>Contoso Employee</DisplayName>
          <Description>Login with your Contoso account</Description>
          <Protocol Name="OpenIdConnect"/>
          <Metadata>
            <Item Key="METADATA">https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration</Item>
            <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_ContosoAppSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/>
            <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid"/>
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. En el elemento ClaimsProvider, actualice el valor de Domain a un valor único que pueda usarse para distinguirlo de otros proveedores de identidades. Por ejemplo, Contoso. No incluya un .com al final de esta configuración de dominio.

  5. En el elemento ClaimsProvider, actualice el valor de DisplayName a un nombre descriptivo del proveedor de notificaciones. Este valor no se utiliza actualmente.

Actualización del perfil técnico

Para obtener un token del punto de conexión de Microsoft Entra es preciso definir los protocolos que Azure AD B2C debe usar para comunicarse con Microsoft Entra ID. Esto se realiza dentro del elemento TechnicalProfile de ClaimsProvider.

  1. Actualice el identificador del elemento TechnicalProfile. Este identificador se usa para hacer referencia a este perfil técnico desde otras partes de la directiva, por ejemplo: AADContoso-OpenIdConnect.
  2. Actualice el valor de DisplayName. Este valor se mostrará en el botón de inicio de sesión de la pantalla de inicio de sesión.
  3. Actualice el valor de Description.
  4. Microsoft Entra ID usa el protocolo OpenID Connect, por lo que debe asegurarse de que el valor de Protocol es OpenIdConnect.
  5. Establezca el valor de METADATA como https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration, donde tenant-name es el nombre del inquilino de Microsoft Entra. Por ejemplo: https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration
  6. Establezca client_id en el identificador de la aplicación desde el registro de aplicación.
  7. En CryptographicKeys, actualice el valor de StorageReferenceId con el nombre de la clave de directiva que creó anteriormente. Por ejemplo, B2C_1A_ContosoAppSecret.

Adición de un recorrido del usuario

En este momento, el proveedor de identidades ya se ha configurado, pero no está disponible en ninguna de las pantallas de inicio de sesión. Si no tiene su propio recorrido del usuario personalizado, cree un duplicado de un recorrido del usuario de la plantilla existente; de lo contrario, continúe con el paso siguiente.

  1. Abra el archivo TrustFrameworkBase.xml del paquete de inicio.
  2. Busque y copie todo el contenido del elemento UserJourney que incluye Id="SignUpOrSignIn".
  3. Abra el archivo TrustFrameworkExtensions.xml y busque el elemento UserJourneys. Si el elemento no existe, agréguelo.
  4. Pegue todo el contenido del elemento UserJourney que ha copiado como elemento secundario del elemento UserJourneys.
  5. Cambie el identificador del recorrido del usuario. Por ejemplo, Id="CustomSignUpSignIn".

Adición del proveedor de identidades a un recorrido del usuario

Ahora que tiene un recorrido del usuario, agregue el nuevo proveedor de identidades al recorrido del usuario. En primer lugar, agregue un botón de inicio de sesión y, después, vincule el botón a una acción. La acción es el perfil técnico que creó anteriormente.

  1. Busque el elemento del paso de orquestación que incluye Type="CombinedSignInAndSignUp" o Type="ClaimsProviderSelection"en el recorrido del usuario. Normalmente es el primer paso de orquestación. El elemento ClaimsProviderSelections contiene una lista de proveedores de identidades con los que un usuario puede iniciar sesión. El orden de los elementos controla el orden de los botones de inicio de sesión que se presentan al usuario. Agregue un elemento XML ClaimsProviderSelection. Establezca el valor de TargetClaimsExchangeId en un nombre descriptivo.

  2. En el paso de orquestación siguiente, agregue un elemento ClaimsExchange. Establezca el Id en el valor del identificador de intercambio de notificaciones de destino. Actualice el valor de TechnicalProfileReferenceId al del identificador del perfil técnico que creó anteriormente.

En el siguiente código XML se muestran los dos primeros pasos de orquestación de un recorrido del usuario con el proveedor de identidades:

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

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

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 el usuario de confianza. 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 CustomSignUpSignIn, el ReferenceId está establecido en CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Carga de la directiva personalizada

  1. Inicie sesión en Azure Portal.
  2. Seleccione el icono Directorio y suscripción en la barra de herramientas del portal y, luego, elija el directorio que contiene el inquilino de Azure AD B2C.
  3. En Azure Portal, busque y seleccione Azure AD B2C.
  4. En Directivas, seleccione Identity Experience Framework.
  5. Seleccione Cargar directiva personalizada y, a continuación, cargue los dos archivos de directivas que ha cambiado, en el siguiente orden: la directiva de extensiones, por ejemplo TrustFrameworkExtensions.xml, luego la directiva de usuarios de confianza, como SignUpSignIn.xml.

Prueba de la directiva personalizada

  1. Seleccione la directiva de usuarios de confianza, por ejemplo B2C_1A_signup_signin.
  2. En Aplicación, seleccione la aplicación web que registró anteriormente. La dirección URL de respuesta debe mostrar https://jwt.ms.
  3. Seleccione el botón Ejecutar ahora.
  4. En la página de registro o de inicio de sesión, seleccione Contoso Azure AD para iniciar sesión con la cuenta de Contoso de Microsoft Entra.

Si el proceso de inicio de sesión se completa correctamente, el explorador se redirige a https://jwt.ms, que muestra el contenido del token devuelto por Azure AD B2C.

[Opcional] Configuración de notificaciones opcionales

Si quiere obtener las notificaciones family_name y given_namede Microsoft Entra ID, puede configurar notificaciones opcionales para la aplicación en la interfaz de usuario de Azure Portal o el manifiesto de aplicación. Para obtener más información, consulte Procedimientos: Proporcionar notificaciones opcionales a la aplicación de Microsoft Entra.

  1. Inicie sesión en Azure Portal con su inquilino de Microsoft Entra de la organización. O si ya ha iniciado sesión, asegúrese de que usa el directorio que contenga el inquilino de Microsoft Entra de la organización (por ejemplo, Contoso):
    1. Seleccione el icono Directorios y suscripciones en la barra de herramientas del portal.
    2. En la página Configuración del portal | Directorios y suscripciones, busque el directorio de Microsoft Entra en la lista Nombre del directorio y, a continuación, seleccione Cambiar.
  2. En Azure Portal, busque Microsoft Entra ID y selecciónelo.
  3. En el menú de la izquierda, en Administrar, seleccione Registros de aplicaciones.
  4. Seleccione en la lista la aplicación para la que desea configurar notificaciones opcionales, como Azure AD B2C App.
  5. En la sección Administrar, seleccione Configuración del token.
  6. Seleccione Agregar notificación opcional.
  7. En Tipo de token, seleccione ID.
  8. Seleccione las notificaciones opcionales que va a agregar, family_name y given_name.
  9. Seleccione Agregar. Si aparece Activar el permiso de perfil de Microsoft Graph (necesario para que las notificaciones aparezcan en el token), habilítelo y, luego, seleccione de nuevo Agregar.

[Opcional] Comprobación de la autenticidad de la aplicación

La comprobación del editor ayuda a los usuarios a entender la autenticidad de la aplicación que ha registrado. Una aplicación comprobada significa que el editor de la aplicación ha comprobado su identidad mediante su Microsoft Partner Network (MPN). Obtenga información sobre cómo marcar la aplicación como comprobada por el editor.

Pasos siguientes

Obtenga información sobre cómo pasar el token de Microsoft Entra a la aplicación.