サインアップ中にユーザー属性を収集する
演習 - サインアップ時にユーザー属性を収集する
ユーザー属性は、セルフサービス サインアップ時にユーザーから収集される値です。 ユーザー フローの設定では、顧客から収集する一連の "組み込みユーザー属性" から選択できます。 カスタム ユーザー属性を作成し、これらをサインアップ時にユーザー フローに追加することもできます。 サインアップ ページで、ユーザーが情報を入力すると、この情報はプロファイルと共にディレクトリに保存されます。 オンラインの食料雑貨店のウェブサイトのために、組み込みの属性と特別食と呼ばれるカスタム属性を組み合わせて使用します。
Note
サインアップ時に収集されるユーザー属性を構成するには、少なくとも外部 ID ユーザー フロー属性管理者ディレクトリ ロールが必要です。
フィードバックがありますか? ご自身の概念実証プロジェクトがどのように進んでいるかをお知らせください。 ご意見をお聞かせください!
まず、特別食カスタム ユーザー属性を作成します。 これを行うには、Microsoft Entra 管理センターにサインインし、[外部 ID]>[概要] に移動します。 次に、[カスタム ユーザー属性] を選択します。
一覧には、作成されたカスタム ユーザー属性を含む、テナントで使用できるすべてのユーザー属性が含まれます。 [属性の種類] 列は、属性が組み込み属性またはカスタム属性のどちらであるかを示します。 [追加] を選択し、新しい属性を追加します。
[属性の追加] ウィンドウで、カスタム属性の [名前] を入力します。 たとえば、「SpecialDiet」です。 [データ型] で、「文字列」を選択します。 [説明] で、内部使用のためにカスタム属性の説明を入力します。 この説明は、ユーザーには表示されません。
カスタム ユーザー属性をテナントに追加した後、サインアップ フローにカスタム ユーザー属性を含めます。 [ID]>[External Identities]>[ユーザー フロー] に移動します。 次に、リストからユーザー フローを選択します。
[ユーザー属性] を選択します。 前のセクションで説明したように、この一覧には定義したカスタム ユーザー属性が含まれています。 たとえば、新しい SpecialDiet が現在、リストに表示されています。 サインアップ中にユーザーから収集する属性をすべて選択し、[保存] を選択します。
最後の手順として、サインアップ ページ レイアウトを構成します。 [ページ レイアウト] では、必要な属性を指定し、表示順序を並べ替えることができます。 属性ラベルの編集、ラジオ ボタンやチェックボックスの作成などを行うこともできます。 この食料雑貨店の Web サイトでは、「SpecialDiet」という名前の属性にラベルを追加します。 [カスタマイズ] で [ページ レイアウト] を選択します。 収集することを選択した属性が表示されます。 [ラベル] 列の値を選択し、テキストを変更して、属性の ラベルを編集します。
お疲れさまでした。テナントにカスタム属性を追加し、カスタム属性をユーザー フローに追加した後、属性にラベルを追加しました。
1.カスタム属性を作成する
カスタム属性を作成するには、次の Microsoft Graph 要求を実行します。
POST https://graph.microsoft.com/beta/identity/userFlowAttributes
{
"displayName": "SpecialDiet",
"description": "Customer's special diet",
"dataType": "string"
}
1.1 カスタム属性をコピーする
応答から、カスタム属性 id の値をコピーします。次に例を示します。
{
"@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.ユーザー フローに属性を追加する
ユーザー フローに属性を追加するには、以下の Microsoft Graph 要求を実行します。 {user-flow-ID} を ユーザー フロー ID に置き換えます。 {attribute-ID} を前の手順の属性 ID に置き換えます。
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}"
}
例
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.(省略可能) ページ レイアウトを更新する
通常、この属性はサインアップ ページの下部に表示されます。 サインアップ ページ レイアウトを更新できます。 [ページ レイアウト] では、必要な属性を指定し、表示順序を並べ替えることができます。 属性ラベルの編集、ラジオ ボタンやチェックボックスの作成などを行うこともできます。
これを行うには、ユーザー フローを更新する必要があります。 要求本文で、更新する必要があるプロパティの値のみを指定します。 要求本文に含まれていない既存のプロパティは、以前の値を維持するか、その他のプロパティ値の変更に基づいて再計算されます。
警告
入力コレクションには、すべての属性が含まれている必要があります。 属性を追加または削除するには、必ずその他すべての属性を含めてください。
{user-flow-ID} をユーザー フロー ID に置き換えます。 {attribute-ID} を属性 ID に置き換えます。
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": []
}
]
}
]
}
}
}