シチュエーション
・新規登録画面で、電話番号等の必須でない属性値を空(Null)で登録したいとき
・プロフィール編集画面などで、設定されている属性値を空(Null)に変更し、登録したいとき
・IDP(LINEやGoogle等)やid_token_hint等から渡ってきた属性値を空(Null)に変更し、登録したいとき
必要なメタデータ
<Item Key="AllowGenerationOfClaimsWithNullValues">true</Item>
上記一行を対象のTechinicalProfileの<metadata>タグ内に追加するだけで、各属性に対するNull設定が可能となります!
挙動確認
試しに、動かしてみましょう!今回はプロフィール編集画面で、携帯電話番号(カスタムポリシー上の属性名:mobilephone_number)をnullで登録するシチュエーションになります。
改修前
実際に、「080-1111-1111」と記載された電話番号を
完全に消して、登録してみます。すると↓↓
jwt.ms画面上で、さきほど消したはずの携帯電話番号が表示され、
プロフィール編集画面上でも携帯電話番号「080-1111-1111」が残ってしまっています。
改修後
上記でご説明したMetadataタグ内にAllowGenerationOfClaimsWithNullValuesの属性を追加し、trueにした状態で、カスタムポリシーをアップロードします。アップロード後は先ほどと同じようにプロフィール編集を行ってみましょう。
すると↓↓
jwt.ms画面では、「"mobilephone_number": "080-1111-1111"」の記載が消え、
プロフィール編集画面をもう一度開いてみても、無事に携帯電話番号における初期値設定はない状態になっていました!
参考にしたサイト
↑他にも続行ボタン、キャンセルボタンの出力方法等必要なメタデータの一覧が上記Microsoft公式ドキュメントに記載されているので、ご参考までに!