Zbieraj atrybuty użytkownika podczas rejestracji

Ukończone

Ćwiczenie — zbieranie atrybutów użytkownika podczas rejestracji

Atrybuty użytkownika to wartości zbierane od użytkownika podczas rejestracji samoobsługowej. W ustawieniach przepływu użytkownika możesz wybrać spośród zestawu wbudowanych atrybutów użytkownika, które chcesz zbierać od klientów. Możesz również utworzyć niestandardowe atrybuty użytkownika i dodać je do przepływu użytkownika podczas rejestracji. Na stronie rejestracji użytkownik wprowadza informacje i jest przechowywany z profilem w katalogu. Na potrzeby witryny internetowej sklepów spożywczych użyjemy kombinacji wbudowanych atrybutów i atrybutu niestandardowego nazywanego specjalną dietą.

Uwaga

Aby skonfigurować atrybuty użytkownika do zbierania atrybutów podczas rejestracji, potrzebna będzie co najmniej rola katalogu atrybutu przepływu użytkownika zewnętrznego identyfikatora użytkownika.

Czy masz opinię? Daj nam znać, jak będzie przebiegał projekt weryfikacji koncepcji. Z przyjemnością poznamy opinie użytkowników.

  1. Zaczynamy od utworzenia specjalnego atrybutu użytkownika niestandardowego diety . W tym celu zaloguj się do centrum administracyjnego firmy Microsoft Entra i przejdź do pozycji Zewnętrzne tożsamości>— omówienie. Następnie wybierz pozycję Atrybuty użytkownika niestandardowego.

    Zrzut ekranu przedstawiający blok Przegląd tożsamości zewnętrznych z wyróżnionymi atrybutami użytkownika niestandardowego po lewej stronie.

  2. Lista zawiera wszystkie atrybuty użytkownika dostępne w dzierżawie, w tym wszystkie niestandardowe atrybuty użytkownika, które zostały utworzone. Kolumna Typ atrybutu wskazuje, czy atrybut jest wbudowany, czy niestandardowy. Wybierz pozycję Dodaj , aby dodać nowy atrybut.

    Zrzut ekranu przedstawiający blok Atrybuty użytkownika niestandardowe tożsamości zewnętrznych z wyróżnionym przyciskiem Dodaj na pasku narzędzi.

  3. W okienku Dodawanie atrybutu wprowadź nazwę atrybutu niestandardowego. Na przykład SpecialDiet. W obszarze Typ danych wybierz pozycję Ciąg. W opisie wprowadź opis atrybutu niestandardowego do użytku wewnętrznego. Ten opis nie jest widoczny dla użytkownika.

    Zrzut ekranu przedstawiający otwieranie okienka Dodaj atrybut po prawej stronie z polami Nazwa określoną jako SpecialDiet i Typ danych wybraną jako Ciąg wyróżnioną.

  4. Po dodaniu niestandardowego atrybutu użytkownika do dzierżawy przejdź do dołączania niestandardowego atrybutu użytkownika w przepływie tworzenia konta. Przejdź do sekcji Identity External Identities User flows (Przepływy> użytkownika tożsamości>zewnętrznych tożsamości). Następnie wybierz przepływ użytkownika z listy.

    Zrzut ekranu przedstawiający lewą nawigację w centrum administracyjnym firmy Microsoft Entra z wyróżnionymi przepływami tożsamości zewnętrznych i użytkowników, gdzie na liście siatki przepływów użytkownika wyróżniono jedną o nazwie Domyślna.

  5. Wybierz pozycję Atrybuty użytkownika. Lista zawiera wszystkie niestandardowe atrybuty użytkownika zdefiniowane zgodnie z opisem w poprzedniej sekcji. Na przykład nowa aplikacja SpecialDiet jest teraz wyświetlana na liście. Wybierz wszystkie atrybuty, które chcesz zebrać od użytkownika podczas rejestracji, a następnie wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający blok Attribues użytkownika dla przepływu użytkownika o nazwie Domyślne zawiera listę atrybutów włączonych dla przepływu użytkownika. Atrybut o nazwie SpecialDiet jest wyróżniony.

  6. W ostatnim kroku skonfigurujesz układ strony rejestracji. W obszarze Układy strony można wskazać, które atrybuty są wymagane i rozmieścić wyświetlaną kolejność. Możesz również edytować etykiety atrybutów, tworzyć przyciski radiowe lub pola wyboru itd. W naszej witrynie internetowej artykułów spożywczych dodamy etykietę do atrybutu o nazwie SpecialDiet. W obszarze Dostosuj wybierz pozycję Układy stron. Zostaną wyświetlone atrybuty wybrane do zebrania. Edytuj etykietę dla dowolnego atrybutu, wybierając wartość w kolumnie Etykieta i modyfikując tekst.

    Zrzut ekranu przedstawiający blok Układy strony dla przepływu użytkownika o nazwie Domyślne pokazuje kolejność atrybutów prezentowanych użytkownikom podczas rejestracji. Atrybut o nazwie Dieta specjalna jest wyróżniony.

    Dobra robota! Dodano atrybut niestandardowy do dzierżawy, dodano atrybut niestandardowy do przepływu użytkownika, a następnie dodano etykietę do atrybutu.

1. Tworzenie atrybutu niestandardowego

Aby utworzyć atrybut niestandardowy, uruchom następujące żądanie programu Microsoft Graph.

POST https://graph.microsoft.com/beta/identity/userFlowAttributes
{
    "displayName": "SpecialDiet",
    "description": "Customer's special diet",
    "dataType": "string"
}
1.1 Kopiowanie atrybutu niestandardowego

Z odpowiedzi skopiuj wartość identyfikatora atrybutu niestandardowego. Na przykład:

{
    "@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. Dodawanie atrybutu do przepływu użytkownika

Aby dodać atrybut do przepływu użytkownika, uruchom poniższe żądanie programu Microsoft Graph. Zastąp element {user-flow-ID} identyfikatorem przepływu użytkownika. Zastąp element {attribute-ID} identyfikatorem atrybutu z poprzedniego kroku.

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}"
}
Przykład
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. (Opcjonalnie) Aktualizowanie układu strony

Zazwyczaj atrybut pojawia się w dolnej części strony rejestracji. Możesz zaktualizować układ strony rejestracji. W obszarze Układy strony można wskazać, które atrybuty są wymagane i rozmieścić kolejność wyświetlania. Możesz również edytować etykiety atrybutów, tworzyć przyciski radiowe lub pola wyboru itd.

W tym celu należy zaktualizować przepływ użytkownika. W treści żądania podaj tylko wartości właściwości, które mają zostać zaktualizowane. Istniejące właściwości, które nie są uwzględnione w treści żądania, utrzymują swoje poprzednie wartości lub stają się ponownie obliczane na podstawie zmian w innych wartościach właściwości.

Ostrzeżenie

Kolekcja danych wejściowych musi zawierać wszystkie atrybuty. Aby dodać lub usunąć atrybuty, pamiętaj, aby uwzględnić wszystkie inne atrybuty.

Zastąp element {user-flow-ID} identyfikatorem przepływu użytkownika. Zastąp element {attribute-ID} identyfikatorem atrybutu.

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": []
                        }
                    ]
                }
            ]
        }
    }
}