8.3. 認証フロー
authentication flow は、ログイン、登録、その他の Red Hat build of Keycloak ワークフロー中の認証、画面、アクションのコンテナーです。
8.3.1. ビルトインフロー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak には、いくつかのビルトインフローがあります。これらのフローは変更できませんが、フローの要件をニーズに合わせて変更することができます。
手順
- メニューで Authentication をクリックします。
- リスト内の Browser 項目をクリックして詳細を表示します。
Browser Flow
8.3.1.1. 認証タイプ リンクのコピーリンクがクリップボードにコピーされました!
実行する認証またはアクションの名前。認証がインデントされると、これはサブフローにあります。これは、親の動作によって実行されるか、実行されていない可能性があります。
Cookie
ユーザーが初めてログインに成功すると、Red Hat build of Keycloak はセッション Cookie を設定します。クッキーがすでに設定されている場合、この認証タイプは成功します。Cookie プロバイダーが成功を返し、このフローレベルのそれぞれの実行が alternative であるため、Red Hat build of Keycloak は他の実行を行いません。これにより、ログインに成功します。
Kerberos
このオーセンティケーターはデフォルトで無効になっており、Browser Flow ではスキップされます。
Identity Provider Redirector
このアクションは、Actions > Config リンクで設定されます。これは、Identity Brokering のために別の IdP にリダイレクトします。
フォーム
このサブフローは 代替 としてマークされているため、Cookie 認証タイプが渡されると実行されません。このサブフローには、実行する必要がある追加の認証タイプが含まれています。Red Hat build of Keycloak は、このサブフローの実行をロードして処理します。
最初に実行されるのは、Username Password Form です。これはユーザー名とパスワードのページをレンダリングする認証タイプです。これは required とマークされているため、ユーザーは有効なユーザー名とパスワードを入力する必要があります。
2 番目に実行されるのは、Browser - Conditional 2FA サブフローです。このサブフローは 条件付き であり、Condition - User Configured および Condition - credential の実行結果に応じて実行されます。結果が true の場合、Red Hat build of Keycloak はこのサブフローの実行をロードして処理します。
その次に実行されるのは、Condition - User Configured 認証です。この認証は、Red Hat build of Keycloak がそのフロー内で、そのユーザーの他の実行を設定しているか確認します。Browser - Conditional 2FA サブフローは、ユーザーが OTP 認証情報を設定済みの場合にのみ実行されます。
その次に実行されるのは、Condition - credential 認証です。このステップでは、パスワードレスの WebAuthn 認証情報 (パスキー) を使用してユーザーがすでに認証プロセスで認証されているかどうかを確認します。認証されている場合は 2FA を回避します。
最後に実行されるのは、OTP Form です。Red Hat build of Keycloak はこの実行要素を alternative とマークしますが、実際には conditional サブフロー内の設定に基づき、ユーザーが OTP 認証情報を設定している場合にのみ実行されます。OTP 認証情報が設定されていない場合、ユーザーに OTP フォームは表示されません。
デフォルトの browser フローには、Browser - Conditional 2FA 内にさらに 2 つの実行 (WebAuthn Authenticator と Recovery Authentication Code Form) が含まれています。これらの実行はデフォルトで Disabled になっており、別の 2FA 方式としてフローに追加できます。それぞれの認証情報がユーザーに対して設定されている場合に使用可能にするには、要件を Disabled から Alternative に変更してください。ユーザーがすべての代替認証情報タイプを設定している場合、最も優先度の高い認証情報がデフォルトで表示されます。ただし、ユーザーが別の方法でログインできるように、Try Another Way オプションも表示されます。
8.3.1.2. Requirement リンクのコピーリンクがクリップボードにコピーされました!
アクションの実行を制御するドロップダウンメニュー。
- Required
- フロー内のすべての Required 要素が、順番に正常に実行される必要があります。フローは、必須要素が失敗すると終了します。
- Alternative
- 1 つの要素が正常に実行されるだけで、フローは成功と評価されます。フローを成功とみなすには Required フロー要素だけで十分なため、Required フロー要素が含まれるフロー内に Alternative フロー要素があっても、その要素は実行されません。
- Disabled
- この要素は、フローの成功を判定するうえでは考慮されません。
- Conditional
この要件タイプはサブフローにのみ設定されます。
- Conditional サブフローには実行が含まれます。これらの実行は論理ステートメントに評価する必要があります。
- すべての実行が true として評価されると、Conditional サブフローは 必須 として動作します。
- すべての実行が false と評価されると、Conditional サブフローは Disabled として機能します。
- 実行を設定しない場合、Conditional サブフローは Disabled として機能します。
- フローに実行が含まれ、かつ Conditional に設定されていない場合、Red Hat build of Keycloak は実行を評価せず、実行は機能的に Disabled とみなされます。