はじめに
この記事に興味を持っていただきありがとうございます。Azure AD B2C のカスタムポリシーを探っていくシリーズ第 3 回です。前回はカスタムポリシーを構成するコンポーネント「テクニカルプロファイル」について調べました。今回は「ユーザージャーニー」について調べていきます。
ユーザージャーニーが定義するもの
翻訳すると「ユーザーの旅路」といったような意味になるユーザージャーニーは、サインイン、パスワードリセット、プロファイル編集のような各リライングパーティにおいて、ユーザーに対してどういった体験を提供するか(あるいはしないか)を定義しています。
ユーザージャーニーの中身は、段階を追った一連の手順の並びになっています。その手順ひとつをオーケストレーションステップと呼びます。
ユーザージャーニーはオーケストレーションステップをひとつずつ実行します。途中で失敗すると、ユーザージャーニー全体が失敗します。
オーケストレーションステップの中身
オーケストレーションステップがどんなものなのか調べてみます。
様々なタイプのオーケストレーションステップ
オーケストレーションステップには、いくつかの決まったタイプがあります。
そのうちのひとつは認証プロバイダの選択です。ユーザーに Facebook や Google 等の選択肢を表示し、使用したいものを選んでもらいます。
他にあるタイプのうち、多分最も肝要なのはクレームのやり取りです。クレームやり取りは、利用するテクニカルプロファイルによって実行されます。テクニカルプロファイルの中で認証プロバイダへ移譲したり、クレームを変換したりします。
その他にどのようなタイプがあるか、リファレンスマニュアルから引用します。
Type | 説明 |
---|---|
ClaimsProviderSelection | 認証プロバイダを選択させます。 |
CombinedSignInAndSignUp | ソーシャルプロバイダ、またはローカルアカウントを選択させます。 |
ClaimsExchange | クレームプロバイダとのクレームやり取りです。 |
GetClaims | InputClaims で定義されたクレームを RP アプリケーションから読み込みます。 |
InvokeSubJourney | サブ(副)ジャーニーとのクレームやり取りです。 |
SendClaims | RP アプリケーションにトークンを送ります。 |
ConsentScreen | (不明) |
ReviewScreen | (不明) |
UserDialog | (不明) |
Noop | (不明) |
XSD によると、ConsentScreen、ReviewScreen、UserDialog、Noop といったものもあるようなのですが、ドキュメントには記載されていません。名前からなんとなく想像できますが、どうやって使うのでしょうね。
事前条件
オーケストレーションステップは、その内容を実行するかどうかを決める事前条件を設定できます。
使用できる事前条件は 2 種類あります。
- クレームが存在するかどうか。
- クレームが指定した値に一致するかどうか(ドキュメントには書かれていませんが、たぶん文字レベルではなくバイナリレベルで一致/不一致を見ていると思われます)。
条件を満たしたとき、あるいは満たさなかったとき、該当するオーケストレーションステップは実行されずにスキップされます。
複数の条件を書くこともできます。複数個書いた場合は、書いた順番に評価されます。
事前条件を設定することで、選択した認証プロバイダに応じたオーケストレーションステープのみを実行させたりといったことができます。
まとめ
ここまでご購読ありがとうございました。今回はユーザージャーニーがどんなものであるかということについて書きました。
次回から実際にカスタムポリシーを作っていきます。
~~~~~ ”Azure AD B2Cカスタムポリシーについて”【全5回】シリーズ ~~~~~
☆【第1回】Azure AD B2C カスタムポリシーについて
☆【第2回】テクニカルプロファイルとは
☆【第3回】ユーザージャーニーとは
☆【第4回】カスタムポリシーを作成してみる
☆【最終回】カスタムポリシーを作成してみる(2)