Definición de atributos personalizados en Azure Active Directory 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.

En el artículo Adición de notificaciones y personalización de la entrada del usuario mediante directivas personalizadas aprendió a usar los atributos de perfil de usuario integrados. En este artículo, habilitará un atributo personalizado en el directorio de Azure Active Directory B2C (Azure AD B2C). Más adelante, puede usar el nuevo atributo como una notificación personalizada en los flujos de usuario o las directivas personalizadas simultáneamente.

El directorio de Azure AD B2C viene con un conjunto integrado de atributos. Sin embargo, a menudo es necesario crear sus propios atributos para administrar un escenario concreto; por ejemplo, en las siguientes situaciones:

  • Una aplicación orientada al cliente necesita conservar un atributo LoyaltyId.
  • Un proveedor de identidades tiene un identificador de usuario único (uniqueUserGUID) que se debe conservar.
  • Un recorrido del usuario personalizado debe conservar el estado del usuario, migrationStatus, para que otra lógica funcione.

En el contexto de este artículo, los términos propiedad de extensión, atributo personalizado y notificación personalizada se refieren a lo mismo. El nombre varía según el contexto, como aplicación, objeto o directiva.

Azure AD B2C le permite ampliar el conjunto de atributos que se almacenan en cada cuenta de usuario. También puede leer y escribir estos atributos mediante Microsoft Graph API.

Requisitos previos

Creación de un atributo personalizado

  1. Inicie sesión en Azure Portal como administrador global del inquilino de Azure AD B2C.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino de Azure AD B2C desde el menú Directorios y suscripciones.
  3. Elija Todos los servicios en la esquina superior izquierda de Azure Portal, busque y seleccione Azure AD B2C.
  4. Seleccione Atributos de usuario y, a continuación, seleccione Agregar.
  5. Proporcione un Nombre para el atributo personalizado (por ejemplo, "ShoeSize").
  6. Elija un Tipo de datos. Solo están disponibles String, Boolean e Int.
  7. Si lo desea, escriba una Descripción con fines informativos.
  8. Seleccione Crear.

El atributo personalizado ahora está disponible en la lista de Atributos de usuario y puede usarlo en los flujos de usuario. Solo se crea la primera vez que se utiliza en cualquier flujo de usuario y no cuando se agrega a la lista de atributos de usuario.

Uso de un atributo personalizado en el flujo de usuario

  1. En el inquilino de Azure AD B2C, seleccione Flujos de usuario.
  2. Haga clic en la directiva (por ejemplo, "B2C_1_SignupSignin") para abrirla.
  3. Seleccione Atributos de usuario y, después, seleccione el atributo personalizado (por ejemplo, "ShoeSize"). Seleccione Guardar.
  4. Seleccione Notificaciones de aplicación y, después, seleccione el atributo personalizado.
  5. Seleccione Guardar.

Una vez que haya creado un nuevo usuario mediante el flujo de usuario, puede usar la característica Ejecutar flujo de usuario en el flujo de usuario para comprobar la experiencia del cliente. Ahora debe ver ShoeSize en la lista de atributos que se recopilan durante el viaje de suscripción y en el token enviado de vuelta a la aplicación.

Aplicación de extensiones de Azure AD B2C

Los atributos de extensión solo se pueden registrar en un objeto de aplicación, aunque pueden contener datos para un usuario. El atributo de extensión está conectado a la aplicación denominada b2c-extensions-app. No modifique esta aplicación, ya que Azure AD B2C la usa para almacenar los datos de usuario. Puede encontrar esta aplicación en los registros de aplicaciones de Azure AD B2C.

Obtener el id. de la aplicación de extensiones

  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 Azure AD B2C desde el menú Directorios y suscripciones.
  3. En el menú de la izquierda, seleccione Azure AD B2C. O bien, seleccione Todos los servicios y busque y seleccione Azure AD B2C.
  4. Seleccione Registros de aplicaciones y, después, Todas las aplicaciones.
  5. Seleccione la aplicación b2c-extensions-app. Do not modify. Used by AADB2C for storing user data..
  6. Copie el id. de la aplicación. Ejemplo: 11111111-1111-1111-1111-111111111111.

Obtener las propiedades de la aplicación de extensiones

  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 Azure AD B2C desde el menú Directorios y suscripciones.
  3. En el menú de la izquierda, seleccione Azure AD B2C. O bien, seleccione Todos los servicios y busque y seleccione Azure AD B2C.
  4. Seleccione Registros de aplicaciones y, después, Todas las aplicaciones.
  5. Seleccione la aplicación b2c-extensions-app. No la modifique. Se usa en AADB2C para almacenar datos de usuario.
  6. Copie los identificadores siguientes en el Portapapeles y guárdelos:
    • Identificador de aplicación. Ejemplo: 11111111-1111-1111-1111-111111111111.
    • Identificador de objeto. Ejemplo: 22222222-2222-2222-2222-222222222222.

Modificación de la directiva personalizada

Para habilitar los atributos personalizados en la directiva, especifique el Id. de aplicación y el Id. de objeto de la aplicación en los metadatos de perfil técnico AAD-Common. El perfil técnico AAD-Common* se encuentra en el perfil técnico base de Microsoft Entra ID y ofrece compatibilidad con la administración de usuarios Microsoft Entra. Otros perfiles técnicos de Microsoft Entra ID incluyen AAD-Common para usar su configuración. Reemplace el perfil técnico AAD-Common en el archivo de extensión.

  1. Abra el archivo de extensiones de la directiva. Por ejemplo, SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  2. Busque el elemento ClaimsProviders. Agregue un nuevo ClaimsProvider al elemento ClaimsProviders.

  3. Inserte el identificador de aplicación que registró previamente entre los elementos de apertura <Item Key="ClientId"> y cierre </Item>.

  4. Inserte el identificador de objeto de aplicación que registró previamente entre los elementos de apertura <Item Key="ApplicationObjectId"> y cierre </Item>.

    <!-- 
    <ClaimsProviders> -->
      <ClaimsProvider>
        <DisplayName>Azure Active Directory</DisplayName>
        <TechnicalProfiles>
          <TechnicalProfile Id="AAD-Common">
            <Metadata>
              <!--Insert b2c-extensions-app application ID here, for example: 11111111-1111-1111-1111-111111111111-->  
              <Item Key="ClientId"></Item>
              <!--Insert b2c-extensions-app application ObjectId here, for example: 22222222-2222-2222-2222-222222222222-->
              <Item Key="ApplicationObjectId"></Item>
            </Metadata>
          </TechnicalProfile>
        </TechnicalProfiles> 
      </ClaimsProvider>
    <!-- 
    </ClaimsProviders> -->
    

Carga de la directiva personalizada

  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 de Azure AD B2C desde el menú Directorios y suscripciones.
  3. Elija Todos los servicios en la esquina superior izquierda de Azure Portal, y busque y seleccione Registros de aplicaciones.
  4. Seleccione Marco de experiencia de identidad.
  5. Seleccione Cargar directiva personalizada y cargue los dos archivos de la directiva TrustFrameworkExtensions.xml modificados.

Nota:

La primera vez que el perfil técnico de Microsoft Entra ID conserva la notificación en el directorio, comprueba si existe el atributo personalizado. Si no es así, crea el atributo personalizado.

Creación de un atributo personalizado mediante Azure Portal

Los mismos atributos de extensión se comparten entre directivas integradas y personalizadas. Cuando se agregan atributos personalizados a través de la experiencia del portal, estos se registran mediante la aplicación b2c-extensions-app que existe en cada inquilino B2C.

Puede crear estos atributos mediante la interfaz de usuario del portal antes o después de usarlos en las directivas personalizadas. Cuando se crea un atributo loyaltyId en el portal, tiene que hacer referencia a él como se muestra a continuación:

Nombre Se usa en
extension_loyaltyId Directiva personalizada
extension_<b2c-extensions-app-guid>_loyaltyId Microsoft Graph API

Nota:

Al usar un atributo personalizado en directivas personalizadas, debe anteponer el identificador de tipo de notificación con extension_ para permitir que se realice la asignación de datos correcta en el directorio de Azure AD B2C.

En el ejemplo siguiente se muestra el uso de atributos personalizados en una definición de notificación de directiva personalizada de Azure AD B2C.

<BuildingBlocks>
  <ClaimsSchema>
    <ClaimType Id="extension_loyaltyId">
      <DisplayName>Loyalty Identification</DisplayName>
      <DataType>string</DataType>
      <UserHelpText>Your loyalty number from your membership card</UserHelpText>
      <UserInputType>TextBox</UserInputType>
    </ClaimType>
  </ClaimsSchema>
</BuildingBlocks>

En el ejemplo siguiente se muestra el uso de un atributo personalizado en una directiva personalizada de Azure AD B2C en un perfil técnico y en notificaciones de entrada, salida y persistentes.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="extension_loyaltyId"  />
</InputClaims>
<PersistedClaims>
  <PersistedClaim ClaimTypeReferenceId="extension_loyaltyId" />
</PersistedClaims>
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="extension_loyaltyId" />
</OutputClaims>

Administración de atributos de extensión a través de Microsoft Graph

Puede usar Microsoft Graph para crear y administrar los atributos personalizados y, a continuación, establecer los valores de un usuario. Los atributos de extensión también se denominan extensiones de directorio o de Microsoft Entra.

Los atributos personalizados (extensiones de directorio) de Microsoft Graph API se nombran mediante la convención extension_{appId-without-hyphens}_{extensionProperty-name}, donde {appId-without-hyphens} es la versión reducida de appId (llamada id. de cliente en el portal de Azure AD B2C) para b2c-extensions-app únicamente con los caracteres 0-9 y A-Z. Por ejemplo, si el valor de appId de la aplicación b2c-extensions-app es 25883231-668a-43a7-80b2-5685c3f874bc y el nombre de atributo es loyaltyId, el atributo personalizado se denomina extension_25883231668a43a780b25685c3f874bc_loyaltyId.

Obtenga información sobre cómo administrar los atributos de extensión en el inquilino de Azure AD B2C mediante Microsoft Graph API.

Quitar el atributo de extensión

A diferencia de los atributos integrados, los atributos personalizados se pueden retirar. También se pueden quitar los valores de los atributos de extensión.

Importante

Antes de retirar el atributo personalizado, en cada cuenta del directorio establezca el valor del atributo de extensión en null. De este modo, se quitan explícitamente los valores del atributo de extensión. Después, siga con la eliminación del propio atributo de extensión. Los atributos personalizados se pueden consultar mediante Microsoft Graph API.

Siga estos pasos para retirar un atributo personalizado de un flujo de usuario en su inquilino:

  1. Inicie sesión en Azure Portal como administrador global del inquilino de Azure AD B2C.
  2. Asegúrese de que usa el directorio que contiene el inquilino de Azure AD B2C:
    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 Azure AD B2C en la lista del nombre de directorio y seleccione Cambiar.
  3. Elija Todos los servicios en la esquina superior izquierda de Azure Portal, busque y seleccione Azure AD B2C.
  4. Seleccione Atributos de usuario y luego seleccione el atributo que quiera eliminar.
  5. Seleccione Eliminar y para confirmar.

Use Microsoft Graph API para administrar los atributos personalizados.

Pasos siguientes

Obtenga más información sobre cómo agregar notificaciones y personalizar la entrada de usuario mediante directivas personalizadas. En este ejemplo se usa una notificación "city" integrada. Para usar un atributo personalizado, reemplace "city" por sus propios atributos personalizados.