Partager via


BuildingBlocks

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

Remarque

Dans Active Directory B2C, les stratégies personnalisées sont principalement conçues pour gérer des scénarios complexes. Pour la plupart des scénarios, nous vous recommandons de recourir à des flux d’utilisateurs intégrés. Si vous ne l’avez pas fait, découvrez le Pack de démarrage de stratégie personnalisée dans Prise en main des stratégies personnalisées dans Active Directory B2C.

L’élément BuildingBlocks est ajouté à l’intérieur de l’élément TrustFrameworkPolicy .

<TrustFrameworkPolicy
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="https://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="mytenant.onmicrosoft.com"
  PolicyId="B2C_1A_TrustFrameworkBase"
  PublicPolicyUri="http://mytenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase">

  <BuildingBlocks>
    <ClaimsSchema>
      ...
    </ClaimsSchema>
    <Predicates>
    ...
    </Predicates>
    <PredicateValidations>
    ...
    </PredicateValidations>
    <ClaimsTransformations>
      ...
    </ClaimsTransformations>
    <ContentDefinitions>
      ...
    </ContentDefinitions>
    <Localization>
      ...
    </Localization>
    <DisplayControls>
      ...
    </DisplayControls>
 </BuildingBlocks>

L’élément BuildingBlocks contient les éléments suivants qui doivent être spécifiés dans l’ordre défini :

  • ClaimsSchema : définit les types de revendications qui peuvent être référencés dans le cadre de la stratégie. Le schéma de revendications est l’endroit où vous déclarez vos types de revendications. Un type de revendication est similaire à une variable dans de nombreux langages programmatiques. Vous pouvez utiliser le type de revendication pour collecter des données de l’utilisateur de votre application, recevoir des revendications des fournisseurs d’identité sociale, envoyer et recevoir des données d’une API REST personnalisée ou stocker toutes les données internes utilisées par votre stratégie personnalisée.

  • Prédicats et PredicateValidationsInput : vous permet d’effectuer un processus de validation pour vous assurer que seules les données correctement formées sont entrées dans une revendication.

  • ClaimsTransformations : contient une liste de transformations de revendications qui peuvent être utilisées dans votre stratégie. Une transformation de revendications convertit une revendication en une autre. Dans la transformation des revendications, vous spécifiez une méthode de transformation, par exemple :

    • Modification de la casse d’une revendication de chaîne par celle spécifiée. Par exemple, la modification d’une chaîne en minuscules en majuscules.
    • Comparaison de deux revendications et retour d’une revendication avec la valeur true indiquant que les revendications correspondent, sinon false.
    • Création d’une revendication de chaîne à partir du paramètre fourni dans la stratégie.
    • Création d’une chaîne aléatoire à l’aide du générateur de nombres aléatoires.
    • Mise en forme d’une revendication en fonction de la chaîne de format fournie. Cette transformation utilise la méthode C# String.Format.
  • InputValidation : cet élément vous permet d’effectuer des agrégations booléennes similaires à etou.

  • ContentDefinitions : contient des URL pour les modèles HTML5 à utiliser dans votre parcours utilisateur. Dans une stratégie personnalisée, une définition de contenu définit l’URI de page HTML5 utilisé pour une étape spécifiée dans le parcours utilisateur. Par exemple, les pages de connexion ou d’inscription, de réinitialisation de mot de passe ou d’erreur. Vous pouvez modifier l’apparence en remplaçant LoadUri pour le fichier HTML5. Vous pouvez également créer de nouvelles définitions de contenu en fonction de vos besoins. Cet élément peut contenir une référence de ressources localisées à l’aide d’un ID de localisation.

  • Localisation : vous permet de prendre en charge plusieurs langues. La prise en charge de la localisation dans les stratégies vous permet de configurer la liste des langues prises en charge dans une stratégie et de choisir une langue par défaut. Les chaînes et collections spécifiques au langage sont également prises en charge.

  • DisplayControls : définit les contrôles à afficher sur une page. Les contrôles d’affichage ont des fonctionnalités spéciales et interagissent avec les profils techniques de validation back-end.