7
0

More than 1 year has passed since last update.

【Azure AD B2C カスタムポリシー】Null値を許容する方法

Last updated at Posted at 2023-06-29

シチュエーション

・新規登録画面で、電話番号等の必須でない属性値を空(Null)で登録したいとき
・プロフィール編集画面などで、設定されている属性値を空(Null)に変更し、登録したいとき
・IDP(LINEやGoogle等)やid_token_hint等から渡ってきた属性値を空(Null)に変更し、登録したいとき

必要なメタデータ

<Item Key="AllowGenerationOfClaimsWithNullValues">true</Item>

上記一行を対象のTechinicalProfileの<metadata>タグ内に追加するだけで、各属性に対するNull設定が可能となります!

挙動確認

試しに、動かしてみましょう!今回はプロフィール編集画面で、携帯電話番号(カスタムポリシー上の属性名:mobilephone_number)をnullで登録するシチュエーションになります。

改修前

image.png

実際に、「080-1111-1111」と記載された電話番号を

image.png

完全に消して、登録してみます。すると↓↓

image.png

jwt.ms画面上で、さきほど消したはずの携帯電話番号が表示され、

image.png
プロフィール編集画面上でも携帯電話番号「080-1111-1111」が残ってしまっています。

改修後

上記でご説明したMetadataタグ内にAllowGenerationOfClaimsWithNullValuesの属性を追加し、trueにした状態で、カスタムポリシーをアップロードします。アップロード後は先ほどと同じようにプロフィール編集を行ってみましょう。

すると↓↓

image.png

jwt.ms画面では、「"mobilephone_number": "080-1111-1111"」の記載が消え、

image.png
プロフィール編集画面をもう一度開いてみても、無事に携帯電話番号における初期値設定はない状態になっていました!

参考にしたサイト

↑他にも続行ボタン、キャンセルボタンの出力方法等必要なメタデータの一覧が上記Microsoft公式ドキュメントに記載されているので、ご参考までに!

7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0