Définir des attributs personnalisés dans Azure Active Directory B2C

Avant de commencer _, utilisez le sélecteur _ Choisir un type de stratégie pour choisir le type de stratégie que vous configurez. Azure Active Directory B2C offre deux possibilités pour définir la façon dont les utilisateurs interagissent avec vos applications : via des flux utilisateurs prédéfinis ou via des stratégies personnalisées entièrement configurables. La procédure donnée dans cet article est différente pour chaque méthode.

Dans l’article Ajouter des revendications et personnaliser une entrée d’utilisateur à l’aide de stratégies personnalisées, vous apprenez à utiliser des attributs de profil utilisateur intégrés. Dans cet article, vous allez activer un attribut personnalisé dans votre annuaire Azure Active Directory B2C (Azure AD B2C). Plus tard, vous pourrez utiliser le nouvel attribut simultanément en tant que revendication personnalisée dans les flux d’utilisateurs ou les stratégies personnalisées .

Votre annuaire Azure AD B2C comprend un ensemble intégré d’attributs. Toutefois, vous devez souvent créer vos propres attributs pour gérer votre scénario spécifique, par exemple dans les cas suivants :

  • Une application côté client a besoin de conserver un attribut tel que loyaltyId.
  • Un fournisseur d’identité a un identificateur d’utilisateur unique, uniqueUserGUID, qui doit être enregistré.
  • Un parcours utilisateur personnalisé doit enregistrer l’état de l’utilisateur, migrationStatus, pour que d’autres logiques fonctionnent dessus.

Dans cet article, les termes propriété d’extension, attribut personnalisé et revendication personnalisée font référence à la même chose. Le nom varie en fonction du contexte (application, objet, stratégie).

Azure AD B2C vous permet d’étendre l’ensemble d’attributs stocké sur chaque compte d’utilisateur. Vous pouvez également lire et écrire ces attributs à l’aide de l’API Microsoft Graph.

Prérequis

Création d’un attribut personnalisé

  1. Connectez-vous au portail Azure en tant qu’administrateur général de votre locataire Azure AD B2C.
  2. Assurez-vous que vous utilisez le répertoire qui contient votre locataire Azure AD B2C en l’activant dans l’angle supérieur droit du portail Azure. Sélectionnez les informations sur votre abonnement, puis cliquez sur Changer de répertoire.
  3. Choisissez Tous les services dans le coin supérieur gauche du Portail Azure, recherchez et sélectionnez Azure Active Directory B2C.
  4. Sélectionnez Attributs utilisateur, puis Ajouter.
  5. Fournissez un nom pour l’attribut personnalisé (par exemple, « ShoeSize »).
  6. Choisissez un Type de données. Seules les valeurs String, Boolean et Int sont disponibles.
  7. Si vous le souhaitez, entrez une Description à titre d’information.
  8. Sélectionnez Create (Créer).

L’attribut personnalisé est actuellement disponible dans la liste des attributs utilisateur, et pour une utilisation dans vos flux d’utilisateur. Un attribut personnalisé est créé lors de sa première utilisation dans un flux d’utilisateur, et non pas quand vous l’ajoutez à la liste des Attributs utilisateur.

Utilisation d’un attribut personnalisé dans votre flux d’utilisateur

  1. Dans votre locataire Azure AD B2C, sélectionnez Flux d’utilisateur.
  2. Sélectionnez votre stratégie (par exemple, « B2C_1_SignupSignin ») pour l’ouvrir.
  3. Sélectionnez Attributs d’utilisateur, puis sélectionnez l’attribut personnalisé (par exemple, « ShoeSize »). Sélectionnez Enregistrer.
  4. Sélectionnez Revendications d’applications, puis sélectionnez l’attribut personnalisé.
  5. Sélectionnez Enregistrer.

Une fois que vous avez créé un utilisateur à l’aide d’un flux d’utilisateur qui utilise le nouvel attribut personnalisé, l’objet peut être interrogé dans l’Afficheur Microsoft Graph. Vous pouvez également utiliser la fonctionnalité Exécuter le flux d’utilisateur sur le flux d’utilisateur pour vérifier l’expérience utilisateur. Vous devez maintenant voir ShoeSize dans la liste d’attributs collectés lors de l’inscription, et le voir dans le jeton retourné à votre application.

Application d’extensions Azure AD B2C

Les attributs d’extension ne peuvent être inscrits que pour un objet application, même s’ils peuvent contenir les données d’un utilisateur. L’attribut d’extension est attaché à l’application appelée b2c-extensions-app. Ne modifiez pas cette application, car elle est utilisée par Azure AD B2C pour le stockage des données utilisateurs. Vous trouverez cette application sous Azure AD B2C, inscriptions d’applications.

Obtenir l’ID d’application de l’application d’extensions

  1. Connectez-vous au portail Azure.
  2. Veillez à bien utiliser l’annuaire qui contient votre locataire Azure AD B2C. Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
  3. Sur la page Paramètres du portail | Répertoires + abonnements, recherchez votre répertoire AD B2C Azure dans la liste Nom de répertoire, puis sélectionnez Basculer.
  4. Dans le menu de gauche, sélectionnez Azure AD B2C. Ou sélectionnez Tous les services, puis recherchez et sélectionnez Azure AD B2C.
  5. Sélectionnez Inscriptions d’applications, puis sélectionnez Toutes les applications.
  6. Sélectionner l’application b2c-extensions-app. Do not modify. Used by AADB2C for storing user data..
  7. Copiez l’ID de l’application. Exemple : 11111111-1111-1111-1111-111111111111.

Obtenir les propriétés d’application de l’application d’extensions

  1. Connectez-vous au portail Azure.
  2. Veillez à bien utiliser l’annuaire qui contient votre locataire Azure AD B2C. Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
  3. Sur la page Paramètres du portail | Répertoires + abonnements, recherchez votre répertoire AD B2C Azure dans la liste Nom de répertoire, puis sélectionnez Basculer.
  4. Dans le menu de gauche, sélectionnez Azure AD B2C. Ou sélectionnez Tous les services, puis recherchez et sélectionnez Azure AD B2C.
  5. Sélectionnez Inscriptions d’applications, puis sélectionnez Toutes les applications.
  6. Sélectionner l’application b2c-extensions-app. Do not modify. Used by AADB2C for storing user data..
  7. Copiez les identificateurs suivants dans le Presse-papiers, puis enregistrez-les :
    • ID de l’application. Exemple : 11111111-1111-1111-1111-111111111111.
    • ID objet. Exemple : 22222222-2222-2222-2222-222222222222.

Modifier votre stratégie personnalisée

Pour activer des attributs personnalisés dans votre stratégie, fournissez l’ID de l’application et l’ID d’objet de l’application dans les métadonnées du profil technique AAD-Common. Le profil technique AAD-Common se trouve dans le profil technique de base Azure Active Directory et prend en charge la gestion des utilisateurs Azure AD. D’autres profils techniques Azure AD incluent AAD-Common pour tirer parti de cette configuration. Remplacez le profil technique AAD-Common dans le fichier d’extension.

  1. Ouvrez le fichier d’extensions de votre stratégie. Par exemple SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  2. Recherchez l’élément ClaimsProviders. Ajoutez un nouveau ClaimsProvider à l’élément ClaimsProviders.

  3. Insérez l’ID d’application que vous avez enregistré précédemment, entre les éléments d’ouverture <Item Key="ClientId"> et de fermeture </Item>.

  4. Insérez l’ID d’objet d’application que vous avez enregistré précédemment, entre les éléments d’ouverture <Item Key="ApplicationObjectId"> et de fermeture </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> -->
    

Télécharger votre stratégie personnalisée

  1. Connectez-vous au portail Azure.
  2. Veillez à bien utiliser le répertoire qui contient votre locataire Azure AD B2C. Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
  3. Sur la page Paramètres du portail | Répertoires + abonnements, recherchez votre répertoire AD B2C Azure dans la liste Nom de répertoire, puis sélectionnez Basculer.
  4. Choisissez Tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Inscriptions d’applications.
  5. Sélectionnez Infrastructure d’expérience d’identité.
  6. Sélectionnez Charger une stratégie personnalisée, puis chargez les fichiers de stratégie TrustFrameworkExtensions.xml que vous avez modifiés.

Notes

La première fois que le profil technique Azure AD enregistre la revendication dans l’annuaire, il vérifie si l’attribut personnalisé existe. Si ce n’est pas le cas, il crée l’attribut personnalisé.

Créer un attribut personnalisé via le portail Azure

Les mêmes attributs d’extension sont partagés entre les stratégies intégrées et les stratégies personnalisées. Lorsque vous ajoutez des attributs personnalisés via le portail, ils sont inscrits à l’aide de b2c-extensions-app, qui se trouve dans chaque locataire B2C.

Vous pouvez créer ces attributs dans l’interface utilisateur du portail avant ou après leur utilisation dans vos stratégies personnalisées. Lorsque vous créez un attribut loyaltyId dans le portail, vous devez y faire référence de la façon suivante :

Nom Utilisé dans
extension_loyaltyId Stratégie personnalisée
extension_<b2c-extensions-app-guid>_loyaltyId API Microsoft Graph

L’exemple suivant illustre l’utilisation d’attributs personnalisés dans une définition de revendication de stratégie personnalisée 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>

L’exemple suivant illustre l’utilisation d’un attribut personnalisé au sein d’une stratégie personnalisée Azure AD B2C dans un profil technique, une entrée, une sortie et des revendications persistantes.

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

Utilisation d’un attribut personnalisé avec l’API MS Graph

L’API Microsoft Graph prend en charge la création et la mise à jour d’un utilisateur avec des attributs d’extension. Les attributs d’extension dans l’API Graph sont nommés d’après la convention extension_ApplicationClientID_attributename, où ApplicationClientID est l’ID d’application (client) de l’application b2c-extensions-app. Notez que l’ID d’application (client) tel qu’il est représenté dans le nom de l’attribut d’extension ne comprend aucun trait d’union. Par exemple :

"extension_831374b3bd5041bfaa54263ec9e050fc_loyaltyId": "212342" 

Supprimer l’attribut d’extension

Contrairement aux attributs intégrés, les attributs d’extension/personnalisés peuvent être supprimés. Les valeurs des attributs d’extension peuvent également être supprimées.

Important

Avant de supprimer l’attribut d’extension/personnalisé, pour chaque compte du répertoire, définissez la valeur de l’attribut extension sur null. De cette façon, vous supprimez de manière explicite les valeurs des attributs d’extension. Continuez ensuite à supprimer l’attribut d’extension lui-même. L’attribut d’extension/personnalisé peut être interrogé à l’aide de l’API MS Graph.

Procédez comme suit pour supprimer un attribut d’extension/personnalisé d’un flux d’utilisateur :

  1. Connectez-vous au portail Azure en tant qu’administrateur général de votre locataire Azure AD B2C.
  2. Veillez à bien utiliser le répertoire qui contient votre locataire Azure AD B2C :
    1. Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
    2. Sur la page Paramètres du portail | Répertoires + abonnements, recherchez votre répertoire Azure AD B2C dans la liste Nom de répertoire, puis sélectionnez Basculer.
  3. Choisissez Tous les services dans le coin supérieur gauche du Portail Azure, recherchez et sélectionnez Azure Active Directory B2C.
  4. Sélectionnez Attributs utilisateur, puis l’attribut que vous voulez supprimer.
  5. Sélectionnez Supprimer, puis cliquez sur Oui pour confirmer.

Pour supprimer un attribut personnalisé, utilisez l’API MS Graph, puis la commande Supprimer.

Étapes suivantes

Suivez les instructions pour ajouter des revendications et personnaliser l’entrée utilisateur avec des stratégies personnalisées. Cet exemple utilise une revendication intégrée « City ». Pour utiliser un attribut personnalisé, remplacez « City » par vos propres attributs personnalisés.