Loading

Configurar un proveedor de autenticación Azure AD B2C

Fecha de publicación: Feb 19, 2026
Descripción
Los proveedores de autenticación de OpenID Connect (OIDC) en Salesforce requieren un extremo de información de usuario, pero Azure AD B2C no proporciona uno de forma predeterminada, por lo que hay ciertos pasos adicionales a los necesarios para configurar un proveedor de autenticación de Azure AD.

Nota: El proveedor de autenticación de Microsoft introducido en Summer '22 no se puede utilizar para Azure AD B2C debido a las diferentes URL de extremo de autorización/token esperadas.
Solución

Pasos para configurar un proveedor de autenticación Azure AD BC

a) Como se explica en el artículo "Ejemplo: Configurar un proveedor de autenticación de Azure AD", cree un registro de aplicación en el arrendatario B2C y un proveedor de autenticación en Salesforce. Establezca los siguientes parámetros:

Clave de consumidor: Id. de la aplicación (cliente) como se ve en la página de detalles de Registro de la aplicación Azure AD B2C
Secreto del consumidor: secreto del cliente tal y como se ha configurado en el registro de la aplicación Azure AD B2C
URL de extremo de autorización: https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
Token Endpoint URL: https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/oauth2/v2.0/token
Token Issuer: https://yourtenant.b2clogin.com/<Directory (tenant) ID>/v2.0/
Ámbitos predeterminados: Id. de la aplicación (cliente) como se ve en la página de detalles de Registro de la aplicación openid offline_access

A modo de ejemplo, si el Id. de la aplicación es 90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6, Ámbitos predeterminados debería ser

90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 openid offline_access

Tenga en cuenta que debería poder ver las URL de los extremos de autenticación y token, el emisor del token y las reclamaciones configuradas en https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration.

b) Actualice el URI de redirección o la URL de devolución de llamada en Registro de la aplicación.

c) Habilite el extremo UserInfo en su instancia Azure AD B2C mediante la creación de una política personalizada siguiendo los pasos mencionados en el artículo del extremo UserInfo.

Asegúrese de que la sección InputClaims de UserInfoIssuer utilice los siguientes valores PartnerClaimType:

  <InputClaims>
    <InputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
    <InputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
    <InputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
    <InputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="full_name" />
    <InputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="preferred_username" />
  </InputClaims>

y la sección OutputClaims de UserInfoAuthorization sea la siguiente:

<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
  <OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="email" />
  <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name"/>
  <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name"/>
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name"/>
</OutputClaims>

Tenga en cuenta que https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration debería mostrar una propiedad "userinfo_endpoint" nueva.

d) Actualice la URL del extremo de información de usuario en el proveedor de autenticación.

URL del extremo de información de usuario: https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/openid/v2.0/userinfo

e) Cree un controlador de registro

Tenga en cuenta que el método createUser() se invocará si no hay ningún registro ThirdPartyAccountLink (TPAL) correspondiente para esa combinación de usuario y proveedor de autenticación. Además, para adaptarse al escenario en el que el usuario se ha creado en Salesforce antes de configurar el proveedor de autenticación, asegúrese de que el método createUser() devuelva un registro de usuario existente. Puede encontrar más información sobre este escenario aquí.

f) En una ventana de incógnito, pruebe el flujo SSO yendo a la URL de solo prueba del proveedor de autenticación.


Resolución de problemas

a) Asegúrese de que el extremo de información de usuario sea devuelto por https://yourtenant.b2clogin.com/yourtenant.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration. Si no es así, repita los pasos mencionados aquí.

b) Obtenga un token de acceso:

b.1) Vaya a la URL de solo prueba del proveedor de autenticación. Se lo redirigirá al extremo de autorización.
b.2) Inicie sesión en Azure B2C.
b.3) Inspeccione las solicitudes HTTP y obtenga el código de autorización. Esto se verá en la respuesta de esta solicitud GET:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?client_id=<app-id>

b.4) Ahora, obtenga un token de acceso mediante el envío de esta solicitud POST:

POST https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1

Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&
client_id=<app-id>&
client_secret=<client-secret>&
scope=<app-id> openid offline_access&
code=AwA...&
redirect_uri=<auth-provider-callback-url>

c) Obtenga detalles de UserInfo. Envíe una solicitud GET al extremo UserInfo mediante el token de acceso obtenido previamente.

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/userinfo

Autorización: Bearer <access-token>

d) Depure el controlador de registro para asegurarse de que compara correctamente la información de usuario de OpenId Connect con los atributos del usuario.
Número del artículo de conocimiento

000393769

 
Cargando
Salesforce Help | Article