2.4.2. Keycloakの認証フローを設定する
KC-MailAuthを使用するには、KC-MailAuthを組み込んだ認証フロー(どのような順番で、どのような認証を行っていくかを決めるルールのようなもの)を設定する必要があります。
本マニュアルでは、標準のユーザ/パスワード認証画面での認証後、KC-MailAuthによるワンタイムコード認証を行うフローを設定します。
デフォルトの認証フローをコピーして設定を行うため、認証フローを一から作成する際の手順は省略しています。
Keycloakの起動後、管理者ユーザでKeycloakの管理者Webインターフェースにアクセスします。
対象のレルムの管理画面にて、右メニューの「Authentication」をクリックし、認証フロー管理画面を表示します。
表示されている認証フローの中から「browser」をクリックします。
右上の「Action」をクリックし、「Duplicate」をクリックします。
任意の名前を入力し、「Duplicate」をクリックします。
コピーした認証フローの設定画面にて、「Add execution」をクリックします。
「KC-MailAuth」を選択し、「Add」をクリックします。
作成した「KC-MailAuth」executionを、「認証フロー名 forms」flow内の「Username Password Form」stepの下にドラッグアンドドロップします。
上記を行うことで「KC-MailAuth」stepに変わるので、再度「認証フロー名 forms」flow内の「Username Password Form」stepの下にドラッグアンドドロップします。
Requirementを「Required」にし、標準のユーザ/パスワード認証画面での認証後に必ずワンタイムコード認証を行うように設定します。
2.4.3. 対象のクライアントのブラウザーフローを設定する
認証フローを作成した後は、実際にKC-MailAuthによるワンタイムコード認証を実装するクライアント(接続先のサービス)に、その認証フローを使うよう設定する必要があります。
対象のレルムの管理画面にて、右メニューの「Clients」をクリックし、クライアント管理画面を表示します。
表示されているクライアントの中から、KC-MailAuthによるワンタイムコード認証を設定したいクライアントをクリックします。
タブメニューから、「Advanced」をクリックします。
「Authentication flow overrides」の「Browser Flow」にて、
Keycloakの認証フローを設定する にて作成した認証フローを選択し、「Save」をクリックします。
以上でクライアントのブラウザーフローの設定は完了です。