ユーザー プロファイルの属性
適用対象: 従業員テナント 外部テナント (詳細情報)
サインアップ時に収集するユーザー属性は、ユーザーのプロファイルと共にディレクトリに格納されます。 組み込みユーザー属性から選択することも、カスタム ユーザー属性を作成することもできます。
市区町村、国/地域、メール アドレスなど、組み込みユーザー属性は、Microsoft Entra 外部 ID で使用できます。 サインアップ中に収集する組み込みユーザー属性を選択できます。
追加情報を収集する場合は、カスタム ユーザー属性を作成できます。 テキスト ボックス、ラジオ ボタン、チェック ボックスなど、いくつかのカスタム入力コントロールをサインアップ ページに追加して属性を収集できます。 次の例は、カスタム入力コントロールを使用して、ロイヤルティ番号の属性、使用条件の使用条件の同意、およびプライバシー ポリシーの同意を収集する方法を示しています。
組み込みユーザー属性
Microsoft Entra 外部 ID には、サインアップ中に収集可能な組み込みユーザー属性があります。 これらの属性は、Microsoft Entra 管理センター でユーザー フローを作成する場合に構成します。
次の表は、サインアップ フロー中に収集できる組み込みユーザー属性をまとめたものです。
- Microsoft Entra 管理センターのラベルは、Microsoft Entra 管理センターに表示されるユーザー属性の名前です。
- プログラミング可能な名前 は、Microsoft Graph API の ユーザー リソース として使用されるユーザー属性の名前です。 この名前は、ネイティブ認証など、プログラムでこのユーザー属性を使用する場合に使用します。
- データ型はユーザー属性のデータ型です。
Microsoft Entra 管理センターのラベル | プログラミング可能な名前 | データの種類 | 解説 |
---|---|---|---|
都市 | city | String | 最大 128 文字までです。 |
国/地域 | country | String | 最大 128 文字までです。 |
表示名 | displayName | String | 最大 256 文字までです。 |
メール アドレス | メール | String | このプロパティにアクセント文字を含めることはできません。 ネイティブ認証 APIでは、この属性はユーザー名 として参照されます。 |
姓 | givenName | String | 最大文字数は 64 文字です。 |
役職 | 役職 | String | 最大 128 文字までです。 |
郵便番号 | postalCode | String | 最大文字数は 40 文字です。 |
都道府県 | state | String | 最大 128 文字までです。 |
住所 | streetAddress | String | 最大長は 1024 文字です。 |
姓 | 姓 | String | 最大文字数は 64 文字です。 |
カスタムのユーザー属性
アプリで、組み込みのユーザー属性よりも多くの情報が必要な場合は、独自の属性を追加できます。 これらの属性を、"カスタム ユーザー属性" と呼びます。
カスタム ユーザー属性を定義するには、まずテナント レベルで属性を作成し、テナント内の任意のユーザー フローでその属性を使用できるようにします。 次に、その属性をサインアップ ユーザー フローに割り当てて、サインアップ ページに属性を表示する方法を構成します。
「カスタム ユーザー属性の作成」の記事では、カスタム ユーザー属性を作成する方法について説明します。
カスタム ユーザー属性の入力の種類
カスタム ユーザー属性を使用する前に、収集するカスタム属性ごとにユーザー入力を収集する最適な方法を決定します。 サインアップ時にユーザーから情報を収集するには、次の入力の種類のコントロールを使用します。
- 文字列テキスト ボックス
- ラジオ ボタン
- 複数選択チェックボックス
- 数値テキスト ボックス
- 単一選択チェック ボックス
適切なデータ型とユーザー入力の種類については、次の表を参照してください。
データの種類 | ユーザー入力の種類 | 説明 |
---|---|---|
String | TextBox | 自由形式のテキスト入力フィールド。 |
String | RadioSingleSelect | 1 つだけ選択できる一連のラジオ ボタン。 個々のラジオ ボタンの [テキスト] には、Markdown 言語で書式設定されたハイパーリンクを含めることができます。 |
String | CheckboxMultiSelect | 複数選択が可能な一連の 1 つ以上のチェック ボックス。 個々のチェックボックスの [テキスト] には、Markdown 言語で書式設定されたハイパーリンクを含めることができます。 |
Boolean | CheckboxSingleSelect | ラベル付きの単一のブール値チェック ボックス。 チェックボックスの [ラベル] には、Markdown 言語で書式設定されたハイパーリンクを含めることができます。 |
int | NumericTextBox | 自由形式の整数入力。 |
チェックボックスとラジオ ボタンには、利用規約やプライバシー ポリシーなど、他のコンテンツへのハイパーリンクを含めることができます。 この記事の冒頭の例は、組み込みの属性とカスタム属性を組み合わせたサインアップ ページを示しています。 この例では次のとおりです。
- [表示名] フィールドは組み込み属性です。
- [ロイヤルティ番号] は、整数値を受け取る自由形式の入力フィールドを持つカスタム属性です。 この形式は、整数 データ型と NumericTextBox ユーザー入力の種類を使用して構成できます。
- 使用条件とプライバシー ポリシーのカスタム属性は、ハイパーリンクを含むラベルが付いた個別の単一選択チェックボックスです。 この形式は、ブール値データ型を使用して単一のチェックボックスを構成できます。既定では、CheckboxSingleSelect ユーザー入力の種類になります。 Markdown 言語を使用して、チェックボックスのラベルにハイパーリンクを追加します。
ユーザー属性の入力の種類を構成する方法については、「ユーザー入力の種類を構成する」の記事を参照してください。
カスタム ユーザー属性が格納されている場所
カスタム ユーザー属性は、ディレクトリに格納されているユーザー プロファイル情報を拡張するため、ディレクトリ拡張属性とも呼ばれます。 外部テナントのすべての拡張属性は、b2c-extensions-app という名前のアプリに格納されます。 ユーザーがサインアップ時にカスタム属性の値を入力すると、その値はユーザー オブジェクトに追加され、名前付け規則 extension_{appId-without-hyphens}_{custom-attribute-name}
を使用して Microsoft Graph API 経由で呼び出すことができます。ここでの条件は次のとおりです。
{appId-without-hyphens}
は、b2c-extensions-app のクライアント ID の削除されたバージョンです。{custom-attribute-name}
は、カスタム属性に割り当てた名前です。
たとえば、b2c-extensions-appのクライアント ID が 2588a-bcdwh-tfeehj-jeeqw-ertc
で、属性名が以下の場合です。
- loyaltyNumber の場合、カスタム属性には
extension_2588abcdwhtfeehjjeeqwertc_loyaltyNumber
という名前が付けられます。 - Loyalty Number の場合、カスタム属性には
extension_2588abcdwhtfeehjjeeqwertc_loyaltyNumber
という名前が付けられます。 スペースを削除し、キャメル ケースを使用して単語を区切ります。
「拡張アプリのアプリケーション ID を見つける」記事を参照して、外部テナントに登録されている b2c-extensions-app のアプリケーション ID を見つける方法について確認してください。
Microsoft Graph API
Microsoft Graph では、ユーザー属性はユーザー フロー属性と呼ばれます。 identityUserFlowAttribute リソースの種類とそれに関連付けられているメソッドを使用して、組み込みユーザー フロー属性とカスタム ユーザー フロー属性の両方を管理します。