Recopilación de atributos de usuario durante el registro

Completado

Ejercicio: Recopilación de atributos de usuario durante el registro

Los atributos de usuario son valores recopilados del usuario durante el registro de autoservicio. En la configuración del flujo de usuario, puede seleccionar entre un conjunto de atributos de usuario integrados que quiera recopilar de los clientes. También puede crear atributos de usuario personalizados y agregarlos al flujo de usuario durante el registro. En la página de registro, el usuario escribe la información y se almacena con su perfil en el directorio. Para el sitio web de comestibles en línea, usaremos una combinación de atributos integrados y un atributo personalizado denominado dieta especial.

Nota:

Necesitará al menos el rol de directorio de Administrador de atributos de flujos de usuarios con id. externo para configurar el uso de atributos recopilados durante el registro.

¿Tiene comentarios? Háganos saber cómo va su proyecto de prueba de concepto. No gustaría conocer su opinión.

  1. Comenzamos creando el atributo de usuario personalizado dieta especial. Para ello, inicie sesión en el Centro de administración de Microsoft Entra y vaya a External Identities>Información general. A continuación, seleccione Atributos de usuario personalizados.

    Recorte de pantalla de la hoja Información general de External Identities con la navegación izquierda resaltando Atributos de usuario personalizados.

  2. La lista contiene todos los atributos de usuario disponibles en el inquilino, incluidos los atributos de usuario personalizados que se han creado. La columna Tipo de atributo indica si un atributo está integrado o personalizado. Seleccione Agregar para agregar un nuevo atributo.

    Recorte de pantalla de la hoja Atributos de usuario personalizados de External Identities con un botón titulado Agregar en la barra de herramientas resaltado.

  3. En el panel Agregar un atributo, escriba un Nombre para el atributo personalizado. Por ejemplo, DietaEspecial. En Tipo de datos, elija Cadena. En Descripción, escriba una descripción del atributo personalizado para uso interno. Esta descripción no es visible para el usuario.

    Recorte de pantalla del panel Agregar un atributo abierto a la derecha con los campos Nombre especificado como DietaEspecial y Tipo de datos seleccionado como Cadena resaltados.

  4. Después de agregar el atributo de usuario personalizado al inquilino, continúe con la inclusión del atributo de usuario personalizado en un flujo de registro. Vaya a Identidad> Identidades externas> Flujos de usuarios. A continuación, seleccione un flujo de usuario de la lista.

    Recorte de pantalla del panel de navegación izquierdo del Centro de administración de Microsoft Entra que resalta External Identities y Flujos de usuario, donde en la lista de cuadrículas de flujos de usuario, se resalta el denominado Predeterminado.

  5. Seleccione Atributos de usuario. La lista incluye los atributos personalizados de usuario que haya definido como se describe en la sección anterior. Por ejemplo, el nuevo atributo DietaEspecial ahora aparece en la lista. Elija todos los atributos que desea recopilar del usuario durante el registro y seleccione Guardar.

    Recorte de pantalla de la hoja Atributos de usuario para el flujo de usuario titulado Predeterminado que muestra una lista de atributos habilitados para el flujo de usuario. El atributo titulado DietaEspecial está resaltado.

  6. Como último paso, configurará el diseño de la página de registro. En Diseños de página, puede indicar qué atributos son necesarios y organizar el orden de visualización. También puede editar etiquetas de atributo, crear botones de radio o casillas, etc. Para nuestro sitio web de comestibles, agregaremos una etiqueta al atributo denominado DietaEspecial. En Personalizar, seleccione Diseños de página. Aparecerán los atributos que eligió recopilar. Edita la etiqueta de cualquier atributo seleccionando el valor de la columna Etiqueta y modificando el texto.

    Recorte de pantalla de la hoja Diseños de página para el flujo de usuario titulado Predeterminado que muestra el orden de los atributos mostrados a los usuarios durante el registro. El atributo denominado DietaEspecial está resaltado.

    Buen trabajo Ha agregado un atributo personalizado al inquilino, ha agregado el atributo personalizado a un flujo de usuarios y, a continuación, ha agregado una etiqueta al atributo.

1. Creación de un atributo personalizado

Para crear un atributo personalizado, ejecute la siguiente solicitud de Microsoft Graph.

POST https://graph.microsoft.com/beta/identity/userFlowAttributes
{
    "displayName": "SpecialDiet",
    "description": "Customer's special diet",
    "dataType": "string"
}
1.1 Copia del atributo personalizado

En la respuesta, copie el valor del atributo personalizado id. Por ejemplo:

{
    "@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. Adición de un atributo a un flujo de usuario

Para agregar un atributo a un flujo de usuario, ejecute la siguiente solicitud de Microsoft Graph. Reemplace {user-flow-ID} por el identificador de flujo de usuario. Reemplace {attribute-ID} por el identificador de atributo del paso anterior.

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}"
}
Ejemplo
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. (Opcional) Actualización del diseño de la página

Normalmente, el atributo aparece en la parte inferior de la página de registro. Puede actualizar el diseño de la página de registro. En Diseños de página, puede indicar qué atributos son necesarios y organizar el orden de visualización. También puede editar etiquetas de atributo, crear botones de radio o casillas, etc.

Para ello, debe actualizar el flujo de usuario. En el cuerpo de la solicitud, proporcione solo los valores de las propiedades que se deben actualizar. Las propiedades existentes que no se incluyen en el cuerpo de la solicitud mantienen sus valores anteriores o se vuelven a calcular en función de los cambios realizados en otros valores de propiedad.

Advertencia

La colección de entradas debe contener todos los atributos. Para agregar o quitar atributos, asegúrese de incluir todos los demás atributos.

Reemplace {user-flow-ID} por el identificador de flujo de usuario. Reemplace {attribute-ID} por el identificador de atributo.

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