Collecter les attributs utilisateur lors de l’inscription

Effectué

Exercice - Collecter les attributs utilisateur lors de l’inscription

Les attributs utilisateur sont des valeurs collectées auprès de l’utilisateur lors de son inscription en libre-service. Dans les paramètres du flux utilisateur, vous pouvez sélectionner un ensemble d’attributs utilisateur intégrés que vous souhaitez collecter auprès des clients. Vous pouvez également créer des attributs utilisateur personnalisés et les ajouter à votre flux utilisateur lors de l’inscription. Sur la page d’inscription, l’utilisateur entre les informations et il est stocké avec son profil dans votre annuaire. Pour les besoins du site web de l’épicerie en ligne, nous allons utiliser une combinaison d’attributs intégrés et d’un attribut personnalisé appelé régime spécial.

Remarque

Vous aurez besoin au moins du rôle d’annuaire Administrateur d’attribut de flux d’utilisateur d’ID externe pour configurer les attributs utilisateur à collecter lors de l’inscription.

Avez-vous des commentaires à formuler ? Faites-nous savoir comment se déroule votre projet de preuve de concept. Nous aimerions connaître votre opinion.

  1. Nous commençons par créer l’attribut utilisateur personnalisé de régime spécial. Pour ce faire, connectez-vous au Centre d’administration Microsoft Entra et accédez à External Identities>Vue d’ensemble. Ensuite, sélectionnez Attributs utilisateur personnalisés.

    Capture d’écran du panneau Vue d’ensemble des identités externes avec la navigation de gauche mettant en évidence les attributs utilisateur personnalisés.

  2. La liste contient tous les attributs utilisateur disponibles dans le tenant ainsi que les attributs utilisateur personnalisés qui ont été créés. La colonne Type d’attribut indique si un attribut est intégré ou personnalisé. Sélectionnez Ajouter pour ajouter un nouvel attribut.

    Capture d’écran du panneau Attributs utilisateur personnalisés des identités externes avec un bouton intitulé Ajouter dans la barre d’outils mise en surbrillance.

  3. Dans le volet Ajouter un attribut, entrez un nom pour l’attribut personnalisé. Par exemple, SpecialDiet. Dans Type de données, choisissez Chaîne. Dans Description, entrez une description de l’attribut personnalisé à usage interne. Cette description n’est pas visible par l’utilisateur.

    Capture d’écran de l’ouverture d’un volet d’attributs à droite avec les champs Nom spécifiés en tant que SpecialDiet et Type de données sélectionnés comme Chaîne mise en surbrillance.

  4. Après avoir ajouté l’attribut utilisateur personnalisé à votre locataire, passez à l’attribut utilisateur personnalisé dans un flux d’inscription. Accédez à Identité>Identités externes>Flux utilisateur. Ensuite, sélectionnez un flux d’utilisateur dans la liste.

    Capture d’écran de la navigation de gauche du Centre d’administration Microsoft Entra mettant en évidence les flux d’identités externes et d’utilisateurs, où, dans la liste de grilles des flux d’utilisateurs, l’un nommé Default est mis en surbrillance.

  5. Sélectionnez Attributs utilisateur. La liste comprend tous les attributs utilisateur personnalisés que vous avez définis, comme indiqué dans la section précédente. Par exemple, le nouveau SpecialDiet apparaît désormais dans la liste. Choisissez tous les attributs que vous souhaitez collecter auprès de l’utilisateur pendant l’inscription, puis sélectionnez Enregistrer.

    Capture d’écran du panneau Attributions utilisateur pour le flux utilisateur intitulé Par défaut montre une liste d’attributs activés pour le flux utilisateur. L’attribut intitulé SpecialDiet est mis en surbrillance.

  6. Au cours de la dernière étape, vous allez configurer la mise en page d’inscription. Dans Mises en page, vous pouvez indiquer quels attributs sont requis et organiser l’ordre affiché. Vous pouvez également modifier des étiquettes d’attribut, créer des cases d’option ou des cases à cocher, etc. Pour notre site web d’épicerie, nous allons ajouter une étiquette à l’attribut nommé SpecialDiet. Sous Personnaliser, sélectionnez Mises en page. Les attributs à collecter que vous avec choisis seront répertoriés. Modifiez l’étiquette pour n’importe quel attribut en sélectionnant la valeur dans la colonne Étiquette et en modifiant le texte.

    Capture d’écran du panneau Mises en page pour le flux utilisateur intitulé Valeur par défaut montrant l’ordre des attributs présentés aux utilisateurs lors de l’inscription. L’attribut nommé Régime spécial est mis en surbrillance.

    Bravo ! Vous avez ajouté un attribut personnalisé à votre locataire, ajouté l’attribut personnalisé à un flux utilisateur, puis ajouté une étiquette à l’attribut.

1. Créer un attribut personnalisé

Pour créer un attribut personnalisé, exécutez la requête Microsoft Graph suivante.

POST https://graph.microsoft.com/beta/identity/userFlowAttributes
{
    "displayName": "SpecialDiet",
    "description": "Customer's special diet",
    "dataType": "string"
}
1.1 Copier l’attribut personnalisé

À partir de la réponse, copiez la valeur de l’ID d’attribut personnalisé. Par exemple :

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/userFlowAttributes/$entity",
    "id": "extension_a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1_SpecialDiet",
    "displayName": "SpecialDiet",
    "description": "Customer's special diet",
    "userFlowAttributeType": "custom",
    "dataType": "string"
}   

2. Ajouter un attribut à un flux utilisateur

Pour ajouter un attribut à un flux utilisateur, exécutez la requête Microsoft Graph ci-dessous. Remplacez {user-flow-ID} par votre ID de flux utilisateur. Remplacez {attribute-ID} par votre ID d’attribut de l’étape précédente.

POST https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{user-flow-ID}/microsoft.graph.externalUsersSelfServiceSignUpEventsFlow/onAttributeCollection/microsoft.graph.onAttributeCollectionExternalUsersSelfServiceSignUp/attributes/$ref
{
    "@odata.id":"https://graph.microsoft.com/beta/identity/userFlowAttributes/{attribute-ID}"
}
Exemple
POST https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{user-flow-ID}/microsoft.graph.externalUsersSelfServiceSignUpEventsFlow/onAttributeCollection/microsoft.graph.onAttributeCollectionExternalUsersSelfServiceSignUp/attributes/$ref
{
    "@odata.id":"https://graph.microsoft.com/beta/identity/userFlowAttributes/{attribute-ID}"
}

3. (Facultatif) Mettre à jour la mise en page

En règle générale, l’attribut apparaît en bas de la page d’inscription. Vous pouvez mettre à jour la mise en page de la page d’inscription. Dans les mises en page, vous pouvez indiquer quels attributs sont requis et organiser l’ordre d’affichage. Vous pouvez également modifier des étiquettes d’attribut, créer des cases d’option ou des cases à cocher, etc.

Pour cela, vous devez mettre à jour le flux d'utilisateurs. Dans le corps de la demande, fournissez uniquement les valeurs des propriétés qui doivent être mises à jour. Les propriétés existantes qui ne sont pas incluses dans le corps de la requête conservent leurs valeurs précédentes ou sont recalculées en fonction des modifications apportées à d’autres valeurs de propriété.

Avertissement

La collection d’entrées doit contenir tous les attributs. Pour ajouter ou supprimer des attributs, veillez à inclure tous les autres attributs.

Remplacez {user-flow-ID} par votre ID de flux utilisateur. Remplacez {attribute-ID} par votre ID d’attribut.

PATCH https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{user-flow-ID}
{
    "@odata.type": "#microsoft.graph.externalUsersSelfServiceSignUpEventsFlow",
    "onAttributeCollection": {
        "@odata.type": "#microsoft.graph.onAttributeCollectionExternalUsersSelfServiceSignUp",
        "attributeCollectionPage": {
            "customStringsFileId": null,
            "views": [
                {
                    "title": null,
                    "description": null,
                    "inputs": [
                        {
                            "attribute": "email",
                            "label": "Email Address",
                            "inputType": "text",
                            "defaultValue": null,
                            "hidden": true,
                            "editable": false,
                            "writeToDirectory": true,
                            "required": true,
                            "validationRegEx": "^[a-zA-Z0-9.!#$%&’'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$",
                            "options": []
                        },
                        {
                            "attribute": "displayName",
                            "label": "Display Name",
                            "inputType": "text",
                            "defaultValue": null,
                            "hidden": false,
                            "editable": true,
                            "writeToDirectory": true,
                            "required": true,
                            "validationRegEx": "^.*",
                            "options": []
                        },
                        {
                            "attribute": "country",
                            "label": "Country/Region",
                            "inputType": "radioSingleSelect",
                            "defaultValue": null,
                            "hidden": false,
                            "editable": true,
                            "writeToDirectory": true,
                            "required": false,
                            "validationRegEx": "^.*",
                            "options": [
                                {
                                    "label": "Australia",
                                    "value": "au"
                                },
                                {
                                    "label": "Spain",
                                    "value": "es"
                                },
                                {
                                    "label": "United States",
                                    "value": "us"
                                }
                            ]
                        },
                        {
                            "attribute": "city",
                            "label": "City",
                            "inputType": "text",
                            "defaultValue": null,
                            "hidden": false,
                            "editable": true,
                            "writeToDirectory": true,
                            "required": true,
                            "validationRegEx": "^.*",
                            "options": []
                        },                        {
                            "attribute": "{attribute-ID}",
                            "label": "Special diet",
                            "inputType": "text",
                            "defaultValue": null,
                            "hidden": false,
                            "editable": true,
                            "writeToDirectory": true,
                            "required": false,
                            "validationRegEx": "^.*",
                            "options": []
                        }
                    ]
                }
            ]
        }
    }
}