6.3.2. フローの作成

本セクションでは、フローの仕組みをより詳細に行う方法と、独自のフローを作成する方法を説明します。独自のフローを設計する際に、重要な機能とセキュリティー上の考慮事項があることに注意してください。適切に作成されたフローではログインをできないようにし、ユーザーには任意の設定よりも検証が少なくなるか、単にエラーの原因になります。

フローを作成するには、以下のいずれかを行います。

  1. 既存のフローをコピーし、変更します。これには、既存のフロー (Browser フローなど) を選択し、Copy ボタンを押します。これにより、作成する前に新しいフローの名前を設定するよう要求されます。
  2. ゼロから新しいフローを作成します。これを行うには、New ボタンを押します。これはより一般的なケースであるため、この例ではこれを使用します。

新しいフローを作成する場合、最上位のフローを作成する必要があります。

最上位フローの作成

Create top level flow

以下のオプションを使用します。

エイリアス
フローの名前。
説明
フローに設定できる説明。
最上位のフロータイプ
フローのタイプ。client タイプはクライアント (アプリケーション) の認証にのみ使用されます。その他の場合は、generic を選択します。

フローが作成されたら、New ボタンおよび Copy ボタンに加えて、DeleteAdd execution、および Add flow の準備を行います。

空の新規フロー

New flow

最後のフローは、フローとサブフローの構造、これらのフローの実行、サブフローおよび実行に設定した要件によって決まります。

実行は Add execution ボタンで追加できます。リセットメールを OTP を検証するためのリセットメールの送信から、実行にはさまざまなアクションを使用できます。Provider の横にあるツールチップ (tiny question mark) にマウスをかざすと、実行内容が説明されています。

認証実行の追加

Create authentication execution

これらは 自動実行インタラクティブな実行 に分割できます。自動実行Cookie の実行と似ていますが、フローで問題が発生した場合にそれらのアクションが自動的に実行されます。インタラクティブな実行 は、通常は一部のユーザー入力を取得するためにフローを停止します。正常に実行されると、success な状態になります。これはフローが成功したかどうかの一部であるため、これは重要になります。たとえば、空の Browser フローでは、誰でもログインできなくなります。そのためには、正常に評価された 1 つ以上の実行が必要になります。たとえば、入力されて送信されるユーザー名パスワードフォームなどがあります。

サブフローは、Add flow ボタンを使用してトップレベルのフローに追加できます。これにより、Create Execution Flow ページと非常に似た Create Top Level Form ページが開きます。唯一の違いは、Flow Typegeneric (前のように) または form のいずれかになります。form タイプは、組み込み Registration フローに対して行われる内容など、ユーザーの単一フォームを生成するサブフローを構築するために使用されます。サブフローは、実行に含まれる評価方法に応じて、正常に評価される特別な実行タイプです (これには、含まれるサブフローの評価が含まれます)。この評価のロジックは、各実行およびサブフローの要件によって異なります。

この内容の完全な理解には、フローの評価時に要件がどのように機能するかに関する詳細な説明が必要で、これはサブフローにも適用されます。詳細は、上記の実行要件セクションを参照してください。

実行を追加したら、Requirement が正しい値に設定されていることを確認します。必要が 1 つしかない場合でも、設定されない場合もあります。

フローの作成時に、フローに追加したすべての要素には、右側の Actions メニューが表示されます。フローに追加したすべての要素には、このメニューの Delete オプションがあり、フローからこれを削除します。Identity Provider Redirector の場合のように、実行に Config メニューオプションを含めることができます。Add execution および Add flow メニューオプションを使用して、サブフローの実行およびサブフローを追加することもできます。

最後に、実行の順序は重要であるため、名前の左側に設定されている上下ボタンで、実行とサブフローを各フロー内で上下に動かすことができます。