Coletar atributos de usuário durante a inscrição
Exercício: Coletar atributos de usuário durante a inscrição
Atributos de usuário são valores do usuário coletados durante a inscrição por autoatendimento. Nas configurações de fluxo do usuário, você pode selecionar um conjunto de atributos internos de usuário que deseja coletar dos clientes. Você também pode criar atributos de usuário personalizados e adicioná-los ao seu fluxo do usuário durante a inscrição. Na página de inscrição, o usuário insere as informações, que são armazenadas com o respectivo perfil no seu diretório. Para os fins do site de supermercados online, vamos usar uma combinação de atributos integrados e um atributo personalizado chamado dieta especial.
Observação
Você precisará, pelo menos, da função Administrador de Atributos de Fluxo de Usuário de ID Externa do diretório para configurar os atributos de usuário a serem coletados durante a inscrição.
Algum comentário? Conte-nos como está indo seu projeto de prova de conceito. Gostaríamos muito de ouvir de você!
Começamos por criar o atributo de usuário personalizado dieta especial. Para fazê-lo, entre no centro de administração do Microsoft Entra e navegue até Identidades Externas>Visão Geral. Em seguida, selecione Atributos de usuário personalizados.
A lista contém todos os atributos de usuário disponíveis no locatário, incluindo todos os atributos personalizados de usuário que tenham sido criados. A coluna Tipo de atributo indica se um atributo é criado de forma interna ou personalizada. Selecione Adicionar para adicionar um novo atributo.
No painel Adicionar um atributo, insira um Nome para o atributo personalizado. Por exemplo, SpecialDiet. No Tipo de Dados, escolha Cadeia de Caracteres. Em Descrição, insira uma descrição do atributo personalizado para uso interno. Essa descrição não fica visível para o usuário.
Após adicionar o atributo de usuário personalizado ao seu locatário, prossiga para incluir o atributo de usuário personalizado em um fluxo de inscrição. Navegue atéIdentidade>Identidades Externas>Fluxos do Usuário. Em seguida, selecione um fluxo de usuário da lista.
Selecione Atributos do usuário. A lista inclui todos os atributos personalizados do usuário definidos conforme descrito na seção anterior. Por exemplo, o novo atributo SpecialDiet agora aparece na lista. Escolha todos os atributos que você quer coletar durante a inscrição do usuário e selecione Salvar.
Como uma etapa final, você vai configurar o layout da página de inscrição. Em Layouts de página, você pode indicar quais atributos são obrigatórios e organizar a ordem de exibição. Você também pode editar os rótulos de atributo, criar botões de opção ou caixas de seleção e muito mais. Para o nosso site de supermercado, vamos adicionar um rótulo ao atributo chamado SpecialDiet. Em Personalizar, selecione Layouts da página. Os atributos que você escolheu coletar irão aparecer. Edite o rótulo de qualquer atributo selecionando o valor na coluna Rótulo e modificando o texto.
Bom trabalho! Você adicionou um atributo personalizado ao seu locatário, adicionou o atributo personalizado a um fluxo de usuário e, em seguida, adicionou um rótulo ao atributo.
1. Criar um atributo personalizado
Para criar um atributo personalizado, execute a seguinte solicitação do Microsoft Graph.
POST https://graph.microsoft.com/beta/identity/userFlowAttributes
{
"displayName": "SpecialDiet",
"description": "Customer's special diet",
"dataType": "string"
}
1.1 Copiar o atributo personalizado
Na resposta, copie o valor de id do atributo personalizado. Por exemplo:
{
"@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. Adicionar o atributo a um fluxo de usuário
Para adicionar um atributo a um fluxo de usuário, execute a solicitação do Microsoft Graph abaixo. Substitua a {user-flow-ID} por sua ID de fluxo do usuário. Substitua a {attribute-ID} por sua ID do atributo da etapa 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}"
}
Exemplo
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) Atualizar o layout da página
De modo geral, o atributo aparece na parte inferior da página de inscrição. Você pode atualizar o layout da página de inscrição. Em "Layouts de página", você pode indicar quais atributos são obrigatórios e organizar a ordem de exibição. Você também pode editar os rótulos de atributo, criar botões de opção ou caixas de seleção e muito mais.
Para fazê-lo, você precisa atualizar o fluxo de usuário. No corpo da solicitação, forneça apenas os valores das propriedades que devem ser atualizadas. As propriedades existentes que não estão incluídas no corpo da solicitação mantêm seus valores anteriores ou são recalculadas com base em alterações de valores de outras propriedades.
Aviso
A coleção de entradas de dados deve conter todos os atributos. Para adicionar ou remover atributos, certifique-se de incluir todos os outros atributos.
Substitua a {user-flow-ID} por sua ID de fluxo do usuário. Substitua a {attribute-ID} por sua ID do 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": []
}
]
}
]
}
}
}