Establecimiento de direcciones URL de redireccionamiento en b2clogin.com para Azure Active Directory B2C

Cuando configure un proveedor de identidad para el registro y el inicio de sesión en sus aplicaciones Azure Active Directory B2C (Azure AD B2C), deberá especificar los puntos finales del proveedor de identidad Azure AD B2C. Ya no debe hacer referencia a login.microsoftonline.com en las aplicaciones y API para autenticar a los usuarios con Azure AD B2C. En su lugar, use b2clogin.com o un dominio personalizado para todas las aplicaciones.

¿A qué puntos de conexión se aplica este cambio?

La transición a b2clogin.com solo se aplica a los puntos de conexión de autenticación que usan directivas de Azure AD B2C (flujos de usuario o directivas personalizadas) para autenticar a los usuarios. Estos puntos de conexión tienen un parámetro, <policy-name> que especifica la directiva que Azure AD B2C debe usar. Obtenga más información sobre las directivas de Azure AD B2C.

Los anteriores puntos de conexión pueden tener este aspecto:

  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
  • https://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>

Un punto de conexión actualizado correspondiente tendría el siguiente aspecto:

  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
  • https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>

Con el dominio personalizado de Azure AD B2C, el punto de conexión actualizado correspondiente tendría el siguiente aspecto:

  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
  • https://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>

Puntos de conexión que no se ven afectados

Algunos clientes usan las capacidades compartidas de los inquilinos de la organización de Microsoft Entra. Por ejemplo, adquirir un token de acceso para llamar a ms Graph API del inquilino de Azure AD B2C.

Este cambio no afecta a los puntos de conexión que no contienen un parámetro de directiva en la dirección URL. Solo se accede a ellos con los puntos de conexión de login.microsoftonline.com de Microsoft Entra ID y no se pueden usar con b2clogin.com ni con dominios personalizados. En el ejemplo siguiente se muestra un punto de conexión de token válido de la plataforma de identidad de Microsoft:

https://login.microsoftonline.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token

Información general de los cambios necesarios

Es posible que tenga que realizar varias modificaciones para migrar las aplicaciones desde login.microsoftonline.com mediante puntos de conexión de Azure AD B2C:

  • Cambie las direcciones URL de redireccionamiento en las aplicaciones del proveedor de identidades para hacer referencia a b2clogin.com o dominio personalizado. Para obtener más información, siga las instrucciones sobre las direcciones URL de redireccionamiento del proveedor de identidades.
  • Actualice la aplicación Azure AD B2C para que utilice b2clogin.com o dominio personalizado como referencias de flujos de usuario y puntos de conexión de token. El cambio puede incluir la actualización del uso de una biblioteca de autenticación, como la biblioteca de autenticación de Microsoft (MSAL).
  • Actualice cualquiera de los orígenes permitidos que definid en la configuración de CORS para la personalización de la interfaz de usuario.

Cambie las direcciones URL de redireccionamiento del proveedor de identidades

En el sitio web de cada proveedor de identidades en el que ha creado una aplicación, cambie todas las direcciones URL de confianza para se redirijan a, o un dominio personalizadoyour-tenant-name.b2clogin.com en lugar de a login.microsoftonline.com.

Hay dos formatos que puede usar para las direcciones URL de redireccionamiento de b2clogin.com. La primera proporciona la ventaja de no tener «Microsoft» en ninguna parte de la dirección URL mediante el identificador de inquilino (un GUID) en lugar del nombre de dominio del inquilino. Tenga en cuenta que es posible que el authresp punto de conexión no contenga un nombre de directiva.

https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp

La segunda opción usa el nombre de dominio del inquilino con el formato your-tenant-name.onmicrosoft.com. Por ejemplo:

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

En ambos formatos:

  • Reemplace {your-tenant-name} por el nombre del inquilino de Azure AD B2C.
  • Quite /te si existe en la dirección URL.

Actualización de las aplicaciones y de las API

El código de las aplicaciones habilitadas para Azure AD B2C y para las API puede hacer referencia a login.microsoftonline.com en varios lugares. Por ejemplo, el código podría tener referencias a los flujos de usuario y los puntos de conexión de token. Actualice lo siguiente para hacer referencia a your-tenant-name.b2clogin.com:

  • Punto de conexión de autorización
  • Punto de conexión de token
  • Emisor de tokens

Por ejemplo, el punto de conexión de la autoridad de la directiva de registro o de inicio de sesión de Contoso ahora sería:

https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1

Para obtener información sobre la migración de aplicaciones web basadas en OWIN a b2clogin.com, consulte Migración de una API web basada en OWIN a b2clogin.com.

Para migrar las API de Azure API Management protegidas por Azure AD B2C, consulte la sección Migración a b2clogin.com en Protección de una API de Azure API Management con Azure AD B2C.

Biblioteca de autenticación de Microsoft (MSAL)

Propiedad ValidateAuthority de MSAL.NET

Si usa MSAL.NET v2 o versiones anteriores, establezca la propiedad ValidateAuthority en false en la creación de instancias del cliente para permitir redireccionamientos a b2clogin.com. Ni para MSAL.NET v3 ni para las versiones posteriores es necesario establecer este valor en false.

ConfidentialClientApplication client = new ConfidentialClientApplication(...); // Can also be PublicClientApplication
client.ValidateAuthority = false; // MSAL.NET v2 and earlier **ONLY**

Propiedad ValidateAuthority de MSAL para JavaScript

Si usa MSAL para JavaScript v1.2.2 o versiones anteriores, establezca la propiedad ValidateAuthority en false.

// MSAL.js v1.2.2 and earlier
this.clientApplication = new UserAgentApplication(
  env.auth.clientId,
  env.auth.loginAuthority,
  this.authCallback.bind(this),
  {
    validateAuthority: false // Required in MSAL.js v1.2.2 and earlier **ONLY**
  }
);

Si establece validateAuthority: true de MSAL.js 1.3.0+ (el valor predeterminado), debe especificar también un emisor de tokens válido con knownAuthorities:

// MSAL.js v1.3.0+
this.clientApplication = new UserAgentApplication(
  env.auth.clientId,
  env.auth.loginAuthority,
  this.authCallback.bind(this),
  {
    validateAuthority: true, // Supported in MSAL.js v1.3.0+
    knownAuthorities: ['tenant-name.b2clogin.com'] // Required if validateAuthority: true
  }
);

Pasos siguientes

Para obtener información sobre la migración de aplicaciones web basadas en OWIN a b2clogin.com, consulte Migración de una API web basada en OWIN a b2clogin.com.

Para migrar las API de Azure API Management protegidas por Azure AD B2C, consulte la sección Migración a b2clogin.com en Protección de una API de Azure API Management con Azure AD B2C.