2.3. 永続的なユーザーセッション
新しい機能 persistent-user-sessions は、オンラインユーザーセッションとオンラインクライアントセッションをデータベースに保存します。この変更により、Red Hat build of Keycloak のすべてのインスタンスが再起動またはアップグレードされた場合でも、ユーザーはログインしたままになります。
以前のバージョンの Red Hat build of Keycloak では、オフラインユーザーとオフラインクライアントセッションのみがデータベースに保存されていました。この動作は、Red Hat build of Keycloak の以前のバージョンと同じです。
このバージョンに移行すると、既存のオンラインユーザーセッションとオンラインクライアントセッションはすべてクリアされ、ユーザーはログアウトされます。オフラインユーザーセッションとオフラインクライアントセッションは影響を受けません。
2.3.1. 永続的なユーザーセッションの有効化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak 26 では、すべてのユーザーセッションがデフォルトでデータベースに保存されます。この機能を無効にすると、この動作を以前の状態に戻すことができます。分散キャッシュの設定 ガイドの 揮発性ユーザーセッション の手順を使用します。
永続セッションを有効にすると、オンラインユーザーセッション、オフラインユーザーセッション、オンラインクライアントセッション、オフラインクライアントセッションのメモリー内キャッシュは、デフォルトでノードあたり 10000 エントリーに制限されるため、大規模なインストールでの Keycloak の全体的なメモリー使用量が削減されます。メモリーから削除されたアイテムは、必要に応じてデータベースからオンデマンドでロードされます。この機能を有効にすると、ログイン、ログアウト、トークン更新リクエストごとにメモリー使用量が削減され、データベース使用率が増加することが期待できます。
Red Hat build of Keycloak マルチサイトセットアップで外部 Data Grid のキャッシュサイズを設定するには、Data Grid Operator を使用して HA 用に Data Grid をデプロイする を参照してください。
この機能を有効にすると、spi-user-sessions-infinispan-offline-session-cache-entry-lifespan-override オプションおよび spi-user-sessions-infinispan-offline-client-session-cache-entry-lifespan-override オプションは使用できなくなります。これは、以前にオフラインセッションがメモリー内に保持される時間をオーバーライドするために、これらのオプションが使用されていたためです。
2.3.2. 既存ユーザーのサインアウト リンクのコピーリンクがクリップボードにコピーされました!
persistent-user-sessions が有効な場合に、レルムのすべてのオンラインユーザーセッションからサインアウトするには、次の手順を実行します。
- 管理コンソールへログインします。
- メニュー項目 Sessions を選択します。
- Sign out all active sessions アクションを選択します。
2.3.3. セッションキャッシュのサイズを制限する リンクのコピーリンクがクリップボードにコピーされました!
データベースがユーザーセッションの信頼できる情報源になったため、セッションキャッシュのサイズを制限してメモリー使用量を削減することが可能になりました。デフォルトの conf/cache-ispn.xml ファイルを使用する場合、ユーザーおよびクライアントセッションを保存するためのキャッシュは、デフォルトでエントリーごとに 10000 セッションと 1 人の所有者のみ保存するように設定されます。
オプション cache-embedded-sessions-max-count、cache-embedded-client-sessions-max-count、cache-embedded-offline-sessions-max-count、および cache-embedded-offline-client-sessions-max-count を使用して、キャッシュのサイズを更新します。
更新されたリソース要件の詳細は、CPU およびメモリーリソースのサイズ設定の概念 を参照してください。