3.8. ログインオプションの制御
Red Hat build of Keycloak には、いくつかのビルトインログインページ機能があります。
3.8.1. forgot password 有効化 リンクのコピーリンクがクリップボードにコピーされました!
Forgot password を有効にすると、パスワードを取得するか、OTP ジェネレーターを失う場合に、ログイン認証情報をリセットできます。
手順
- メニューで Realm settings をクリックします。
Login タブをクリックします。
ログインタブ
Forgot password を ON に切り替えます。
Forgot Password?リンクがログインページに表示されます。forgot password リンク
-
Red Hat build of Keycloak がリセットメールを送信できるように、Email タブで
HostとFromを指定します。 このリンクをクリックして、ユーザー名またはメールアドレスを入力し、リンクのあるメールを受信して認証情報をリセットできるユーザーを追加します。
Forgot password ページ
メールで送信されるテキストは設定可能です。詳細は、サーバー開発者ガイド を参照してください。
ユーザーがメールリンクをクリックすると、Red Hat build of Keycloak によりパスワードを更新するように求められます。また、OTP ジェネレーターを設定している場合、Red Hat build of Keycloak により OTP ジェネレーターを再設定するように求められます。セキュリティー上の理由から、このフローでは、認証情報のリセット後にフェデレーションユーザーに再度ログインを強制し、同じ認証セッション (同じブラウザー) が使用されている場合は内部データベースユーザーのログイン状態を維持します。組織のセキュリティー要件に応じて、デフォルトの動作を変更できます。
この動作を変更するには、以下の手順を実施します。
手順
- メニューで Authentication をクリックします。
- Flows タブをクリックします。
Reset Credentials フローを選択します。
認証情報フローをリセット
OTP をリセットしない場合は、
Reset - Conditional OTPサブフロー要件を Disabled に設定します。リセットメール設定の送信
強制ログインオプションのデフォルトの動作を変更する場合は、フロー内の Send Reset Email 設定アイコンをクリックし、Alias を定義して、最適な Force login after reset オプションを選択します (
trueの場合は常に再認証を強制、falseの場合は同じブラウザーが使用された場合にユーザーのログイン状態を維持、only-federatedの場合はフェデレーションユーザーに対してのみ再度ログインを強制するデフォルト値)。- メニューで Authentication をクリックします。
- Required Actions タブをクリックします。
Update Password が有効になっていることを確認します。
Required Actions
3.8.2. Remember Me の有効化 リンクのコピーリンクがクリップボードにコピーされました!
ブラウザーを閉じたログインユーザーはセッションを破棄し、そのユーザーは再度ログインする必要があります。ユーザーがログイン時に Remember Me チェックボックスをクリックした場合に、そのユーザーのログインセッションを開いたままにするように Red Hat build of Keycloak を設定できます。このアクションは、ログインクッキーをセッションのみのクッキーから永続クッキーに変換します。
手順
- メニューで Realm settings をクリックします。
- Login タブをクリックします。
Remember Me を On に切り替えます。
ログインタブ
この設定を保存すると、レルムのログインページに
remember meチェックボックスが表示されます。Remember Me
"Remember me" オプションを無効にすると、ログイン時に "Remember me" チェックボックスを選択して作成されたすべてのセッションが無効になり、ユーザーは再度ログインする必要があることに注意してください。これらのセッションに関連するリフレッシュトークンもすべて無効になります。また、スイッチが無効になってもセッションは直ちに無効になるのではなく、無効なセッションに関連付けられた Cookie またはトークンが使用された場合にのみ無効になることに注意してください。つまり、"Remember me" スイッチを無効にしてから再度有効にしても、古いセッションを無効にすることはできません。
3.8.3. ACR から認証レベル (LoA) へのマッピング リンクのコピーリンクがクリップボードにコピーされました!
レルムの一般設定では、どの Authentication Context Class Reference (ACR) 値がどの Level of Authentication (LoA) にマッピングされるかを定義できます。ACR は任意の値にすることができますが、LoA は数値にする必要があります。acr クレームは、OIDC 要求で送信される claims または acr_values パラメーターで要求でき、アクセストークンと ID トークンにも含まれます。マッピングされた番号は、認証フロー条件で使用されます。
特定のクライアントがレルムとは異なる値を使用する必要がある場合は、マッピングをクライアントレベルで指定することもできます。ただし、レルムマッピングを行うのがベストプラクティスです。
詳細は、Step-up Authentication と 公式の OIDC 仕様 を参照してください。
3.8.4. 電子メールワークフローの更新 (UpdateEmail) リンクのコピーリンクがクリップボードにコピーされました!
このワークフローでは、ユーザーは UPDATE_EMAIL アクションを使用して独自のメールアドレスを変更する必要があります。
アクションは、単一のメール入力フォームに関連付けられます。レルムの電子メール検証が無効な場合は、この動作により、検証なしに電子メールを更新できます。レルムで電子メールの検証が有効になっている場合は、アカウントメールを変更せずにアクションが新しいメールアドレスにメール更新アクショントークンを送信します。トリガーされるアクショントークンのみがメールの更新を完了します。
アプリケーションは UPDATE_EMAIL を AIA (Application Initiated Action) として利用することで、ユーザーをメール更新フォームに送信できます。
UpdateEmail は テクノロジープレビュー であるため、完全にサポートされていません。この機能はデフォルトで無効化されています。
有効にするには、--features=preview または --features=update-email を使用してサーバーを起動します。
この機能を有効にして、以前のバージョンから移行する場合は、レルムで 電子メールの更新 に必要なアクションを有効にします。そうでない場合は、メールアドレスを更新できません。