リリースノート
第1章 Red Hat build of Keycloak 26.0 リンクのコピーリンクがクリップボードにコピーされました!
1.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak は Keycloak プロジェクトをベースとしており、OpenID Connect、OAuth 2.0、SAML 2.0 などの一般的な標準仕様に基づいて Web SSO 機能を提供することで、Web アプリケーションのセキュリティーを保護します。Red Hat build of Keycloak サーバーは OpenID Connect または SAML ベースのアイデンティティープロバイダー (IdP) として機能し、エンタープライズユーザーディレクトリーまたはサードパーティー IdP が標準仕様ベースのセキュリティートークンを使用してアプリケーションを保護できるようにします。
Red Hat build of Keycloak は Red Hat Single Sign-on のパワーと機能性を維持しつつ、さらなるスピード、柔軟性、効率性を実現しました。Red Hat build of Keycloak は、Quarkus でビルドされたアプリケーションであり、開発者に柔軟性とモジュール性を提供します。Quarkus は、コンテナーファーストのアプローチに最適化されたフレームワークを提供し、クラウドネイティブアプリケーションを開発するための多くの機能を提供します。
1.2. 26.0.15 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、問題の修正 がいくつか含まれています。
1.3. 26.0.14 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、問題の修正 がいくつか含まれています。
1.4. 26.0.13 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、いくつかの 修正された問題 と、メールによるアカウントの検証方法の変更が含まれています。
1.4.1. Verify Existing Account By Email は、アイデンティティープロバイダーから送信されたメールとユーザー名に対してのみ実行される リンクのコピーリンクがクリップボードにコピーされました!
Verify Existing Account By Email という実行は、First Login Flow がブローカー経由のアカウントを既存の Red Hat build of Keycloak ユーザーにリンクさせるために提供する、選択肢の 1 つです。このステップは、ユーザーが初めてブローカー経由で Red Hat build of Keycloak にログインし、かつそのアイデンティティープロバイダーのアカウントが Red Hat build of Keycloak 内にすでに存在する場合に実行されます。この実行では、ユーザーがそのアカウントを管理していることを確認するため、Red Hat build of Keycloak の現在のアドレスにメールが送信されます。
このリリース以降、外部アイデンティティープロバイダーによって送信されたリンク属性 (メールとユーザー名) がレビュープロセス中にユーザーによって変更されていない場合にのみ、First Login Flow で Verify Existing Account By Email という実行が試行されます。この新しい動作により、誤ってリンクを受け入れる可能性のある既存の Red Hat build of Keycloak アカウントに検証メールが送信されることが回避されます。
プロバイダーがアイデンティティープロバイダーから送信された情報を変更する必要がある場合 (ブローカー内のメールまたはユーザー名が異なるため)、新しいアカウントを既存の Red Hat build of Keycloak ユーザーにリンクするには、他の選択肢である Verify Existing Account By Re-authentication のみを使用できます。
アイデンティティープロバイダーから受信したデータが必須であり、変更できない場合は、ユーザーの介入を防ぐために First Login Flow の Review Profile ステップを無効にすることができます。
詳細は、サーバー 管理ガイド の 最初のログインフロー セクションを参照してください。
1.5. 26.0.12 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、問題の修正 がいくつか含まれています。
1.6. 26.0.11 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、いくつかの 修正された問題、CVE の修正、および JWT クライアント認証の変更が含まれています。
1.6.1. CVE 修正 リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2025-2559 JWT トークンキャッシュの枯渇により、Keycloak でサービス拒否 (DoS) が発生する可能性がある。長期間有効な JWT トークンを持つ信頼できるクライアントは、無制限のトークンキャッシュにより Keycloak でメモリー枯渇を引き起こす可能性があります。
- CVE-2025-3501 トラストストアがすべての証明書を信頼する原因となるホスト名検証の問題。検証ポリシーを「ALL」設定すると、ホスト名のチェックだけでなく、意図しない副作用として、トラストストア証明書の検証もスキップされてしまいます。
CVE-2025-3910 2 要素認証のバイパス。AIA (アプリケーション主導のアクション) を使用すると、ユーザーがサインイン時に実行するように管理者が設定した必要なアクションを回避できます。これにより、ユーザーが 2FA のセットアップなどの要件を回避してしまう可能性があります。
- 管理者によって必要なアクションを実行するよう要求されたユーザーアカウント。
- サインインプロセス中に URL パラメーターを渡す同じユーザー。
1.6.2. JWT クライアント認証の変更 リンクのコピーリンクがクリップボードにコピーされました!
クライアントが 署名済み JWT または クライアントシークレット付きの署名済み JWT タイプを使用して認証するように設定されている場合、Red Hat build of Keycloak はトークンの最大有効期限を強制するようになりました。その結果、トークンの exp (有効期限) クレームがかなり後になる可能性があるにもかかわらず、Red Hat build of Keycloak はその最大有効期限前に発行されたトークンを受け入れません。デフォルト値は、60 秒です。
JWT トークンは認証のために送信される直前に発行される必要があることに注意してください。これにより、ログイン用のトークンを送信するための 1 分間の時間がクライアントに与えられます。この有効期限は、クライアントの Credentials タブにある Max expiration 設定オプションを使用して調整できます。詳細は、機密クライアント認証情報 を参照してください。
1.7. 26.0.10 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、いくつかの 修正された問題、CVE の修正、および Send Reset Email に関する変更が含まれています。
1.7.1. CVE 修正 リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2025-0604 Keycloak でのパスワードリセット後に LDAP バインドが欠落しているために認証がバイパスされる
- CVE-2025-1391 Keycloak により組織がユーザーに誤って割り当てられる可能性がある
1.7.2. Send Reset Email の変更 リンクのコピーリンクがクリップボードにコピーされました!
以前のリリースでは、同じ認証セッション (同じブラウザー) が使用された場合、認証情報リセットフロー (forgot password 機能) により、認証情報のリセット後もユーザーはログインしたままになりました。フェデレーションユーザープロバイダーの場合、この動作はセキュリティー上の問題になる可能性があります。ユーザーを 有効である と検出し、パスワードの変更は正常に実行されるが、ユーザーパスワードの検証が何らかの理由で失敗するプロバイダー実装を想像してください。このシナリオでは、通常のブラウザフローではログインが許可されないはずのユーザーが、認証情報リセットフローによってパスワードを正常に変更した後、ログインできていました。このシナリオはまれなケースですが、デフォルトで回避する必要があります。
現在のリリースでは、オーセンティケーター reset-credential-email (Send Reset Email) に、force-login (リセット後のログインの強制) という新しい設定オプションが追加され、次の 3 つの値を指定できます。
-
true- 常にログインを強制する -
false- 同じ認証セッションが使用される場合、ユーザーのログイン状態を維持する以前の動作 -
only-federated- フェデレーションユーザーには再認証を強制し、Red Hat build of Keycloak の内部データベースに保存されているユーザーには従来の動作を維持するデフォルト値。
このオプションの変更の詳細は、forgot password の有効化 を参照してください。
1.8. 26.0.9 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、問題の修正 がいくつか含まれています。
1.9. 26.0.8 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、いくつかの 問題の修正 と CVE の修正が含まれています。
1.9.1. CVE 修正 リンクのコピーリンクがクリップボードにコピーされました!
CVE-2024-11734 管理者によるシステム変数と環境変数の無制限の使用
特定の設定が設定されている場合、管理ユーザーが機密データにアクセスでき、サーバー環境の内部詳細が公開される可能性があるセキュリティーの脆弱性が確認されました。
CVE-2024-11736 セキュリティーヘッダー経由での Red Hat build of Keycloak サーバーのサービス拒否
Red Hat build of Keycloak に潜在的なサービス拒否 (DoS) の脆弱性が確認されました。レルム設定の変更権限を持つ管理ユーザーが、この問題を悪用してサービスを中断できる可能性があります。トリガーされると、影響を受けるレルム内でユーザーが Keycloak に依存するアプリケーションにアクセスしたり、その管理コンソールを使用したりできなくなる可能性があります。
1.9.2. レルム設定におけるシステム変数の使用が非推奨化 リンクのコピーリンクがクリップボードにコピーされました!
よりセキュアなサーバーランタイムを優先し、システム変数が誤って公開されることを回避するために、サーバーの起動時に spi-admin-allowed-system-variables 設定オプションを使用して、公開するシステム変数を指定することが必須になりました。
今後のリリースでは、レルム設定でのシステム変数の使用を防止するために、この機能は削除されます。
1.10. 26.0.7 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、いくつかの 問題の修正 と次の追加の更新が含まれています。
1.10.1. コンテナーイメージによる OpenJDK 21 の使用 リンクのコピーリンクがクリップボードにコピーされました!
このリリースでは、コンテナーイメージは OpenJDK 21 を使用し、OpenJDK 17 よりもパフォーマンスが向上しました。
1.10.2. 特定の API における getAll() メソッドの非推奨化 リンクのコピーリンクがクリップボードにコピーされました!
Organizations および OrganizationMembers API の getAll() メソッドは非推奨となり、次のメジャーリリースで削除される予定です。代わりに、Organizations および OrganizationMembers API の対応する list(first, max) メソッドを使用します。
1.11. 26.0.6 の更新 リンクのコピーリンクがクリップボードにコピーされました!
このリリースには、いくつかの 問題の修正 と次の追加の変更が含まれています。
1.11.1. CVE 修正 リンクのコピーリンクがクリップボードにコピーされました!
- CVE-2024-10451 Keycloak ビルドプロセスにおける機密データの漏洩
- CVE-2024-10270 Keycloak サービス拒否
- CVE-2024-10492 Keycloak パストラバーサル
- CVE-2024-9666 Keycloak プロキシーヘッダー処理におけるサービス拒否 [DoS] の脆弱性
- CVE-2024-10039 Keycloak TLS パススルー
1.11.2. プロキシーによる X.509 クライアント証明書検索に関するドキュメントを更新しました。 リンクのコピーリンクがクリップボードにコピーされました!
リバースプロキシーを使用する場合、X.509 クライアント証明書の検索で潜在的に脆弱な設定が特定されました。プロキシーヘッダーによるクライアント証明書の検索を設定している場合は、追加の設定手順が必要になることがあります。詳細は、クライアント証明書の検索を有効にする を参照してください。
1.11.3. 管理者イベントにはさらに詳しい情報が含まれる場合があります リンクのコピーリンクがクリップボードにコピーされました!
このリリースでは、管理イベントには、イベントが発生したときのコンテキストに関する追加の詳細が保持される可能性があります。アップグレード後、データベーススキーマの ADMIN_EVENT_ENTITY テーブルに新しい列 DETAILS_JSON があることがわかります。
1.11.4. キーリゾルバーのセキュリティー強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak では REALM_FILESEPARATOR_KEY キーリゾルバーを使用しますが、レルム外の FileVault シークレットへのアクセスが制限されるようになりました。管理コンソールで式プレースホルダーを指定するときにパストラバーサルを引き起こす可能性のある文字は禁止されます。
さらに、KEY_ONLY キーリゾルバーは、REALM_UNDERSCORE_KEY リゾルバーが使用されている場合に別のレルムにリンクされる可能性のあるシークレットの読み取りを回避するために、_ 文字をエスケープします。この場合のエスケープとは、_ を __ に置き換えるだけです。たとえば、${vault.my_secret} は my__secret という名前のファイルを検索します。これは互換性を損なう可能性のある変更であるため、移行を容易にするために警告が記録されます。
1.12. 新機能および機能拡張 リンクのコピーリンクがクリップボードにコピーされました!
次のリリースノートは、最初の 26.0 リリースである Red Hat build of Keycloak 26.0.5 を対象としています。
1.12.1. Java サポート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak は OpenJDK 21 をサポートするようになりました。OpenJDK 17 のサポートは非推奨となり、次のリリースでは削除され、代わりに OpenJDK 21 が採用される予定です。
1.12.2. Keycloak JavaScript アダプターがスタンドアロンになる リンクのコピーリンクがクリップボードにコピーされました!
Keycloak JavaScript アダプターはスタンドアロンライブラリーになったため、Red Hat build of Keycloak サーバーから静的に提供されなくなりました。目標は、ライブラリーを Red Hat build of Keycloak サーバーから切り離し、独立してリファクタリングできるようにし、コードを簡素化し、今後のメンテナンスを容易にすることです。さらに、ライブラリーはサードパーティーの依存関係がなくなったため、より軽量になり、さまざまな環境で使いやすくなりました。
変更点の詳細は、アップグレードガイド を参照してください。
1.12.3. 組織、マルチテナンシー、顧客アイデンティティーおよびアクセス管理 リンクのコピーリンクがクリップボードにコピーされました!
このリリースでは組織が導入されています。この機能は、Red Hat build of Keycloak の既存のアイデンティティーおよびアクセス管理 (IAM) 機能を活用して、Business-to-Business (B2B) や Business-to-Business-to-Consumer (B2B2C) の統合などの顧客アイデンティティーおよびアクセス管理 (CIAM) ユースケースに対応します。この機能の最初のリリースでは、レルムの既存の機能を使用することで、レルムがビジネスパートナーや顧客と統合できるようにするコア機能が提供されます。
- 組織の管理
- 組織メンバーの管理
- 招待リンクや仲介などのさまざまなストラテジーを使用したメンバーのオンボード
- 対象が属する組織に関する追加のメタデータを使用したトークンへの追記
詳細は、組織の管理 を参照してください。
1.12.4. レルム内のソーシャルブローカーの複数のインスタンスに組織を使用する リンクのコピーリンクがクリップボードにコピーされました!
レルム内に同じソーシャルブローカーのインスタンスを複数指定できるようになりました。
通常、レルムには同じソーシャルブローカーに複数のインスタンスは必要ありません。ただし、organization 機能を使用すると、ソーシャルブローカーが同じでインスタンスが異なる場合に、異なる組織にリンクできます。
ソーシャルブローカーを作成するときは、Alias を指定し、必要に応じて他のブローカーと同様に Display name を指定します。
1.12.5. アイデンティティープロバイダーはレルム表現から利用できなくなる リンクのコピーリンクがクリップボードにコピーされました!
アイデンティティープロバイダーが多数あるレルムと組織のスケーリングを支援するために、レルム表現にはアイデンティティープロバイダーのリストが保持されなくなりました。ただし、レルムをエクスポートするときには、レルム表現から引き続き使用できます。
詳細は、アイデンティティープロバイダー を参照してください。
1.12.6. ユーザーセッションがデフォルトで保持される リンクのコピーリンクがクリップボードにコピーされました!
以前のバージョンの Red Hat build of Keycloak では、オフラインユーザーとオフラインクライアントセッションのみがデータベースに保存されていました。新しい機能である persistent-user-sessions は、オンラインユーザーセッションとオンラインクライアントセッションをメモリーとデータベースの両方に保存します。その結果、Red Hat build of Keycloak のすべてのインスタンスが再起動またはアップグレードされた場合でも、ユーザーはログインしたままになります。
詳細は、永続的なユーザーセッション を参照してください。
この機能はデフォルトで有効化されています。無効にする場合は、分散キャッシュの設定 の章の 揮発性ユーザーセッション の手順を参照してください。
1.12.7. Account Console および Admin Console に関する変更点 リンクのコピーリンクがクリップボードにコピーされました!
1.12.7.1. 新しい Admin Console のデフォルトログインテーマ リンクのコピーリンクがクリップボードにコピーされました!
Keycloak ログインテーマの新しいバージョンが存在します。v2 バージョンでは、ユーザーの好みに応じてダークテーマに自動的に切り替える機能のサポートなど、外観と操作性が向上しています。以前のバージョン (v1) は非推奨であり、今後のリリースで削除される予定です。
すべての新しいレルムのデフォルトのログインテーマは keycloak.v2 になります。また、ログインテーマを明示的に設定していない既存のレルムは、keycloak.v2 に切り替えられます。
1.12.7.2. Admin Console および Account Console の PatternFly 5 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak 24 では、デザインシステムの最新バージョンである PatternFly 5 が使用されるようになりました。これは、Welcome ページが更新され、Red Hat build of Keycloak のユーザーインターフェイスの基盤となります。このリリースでは、Admin Console と Account Console も PatternFly 5 を使用するように更新されています。Admin Console および Account Console を拡張およびカスタマイズする場合は、PatternFly 5 の変更点 を確認し、それに応じてカスタマイズを更新してください。
1.12.9. You are already logged in のメッセージ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak 24 リリースでは、ユーザーが複数のブラウザータブで並行して認証する機能が改善されました。ただし、この機能の改善は認証セッションの有効期限が切れたときに対応していませんでした。このリリースでは、ユーザーがすでに 1 つのブラウザータブにログインしていて、別のブラウザータブで認証セッションの有効期限が切れた場合、Red Hat build of Keycloak では OIDC/SAML エラーによりクライアントアプリケーションにリダイレクトされます。その結果、クライアントアプリケーションはすぐに認証を再試行することができ、通常は SSO セッションによりアプリケーションに自動的にログインするはずです。
認証セッションの有効期限が切れ、ユーザーがすでにログインしている場合は You are already logged in というメッセージがエンドユーザーに表示されないことに注意してください。このエラーを処理するには、アプリケーションを更新することを検討してください。
詳細は、認証セッション を参照してください。
1.12.10. ユーザー属性による検索で大文字と小文字が区別されるようになる リンクのコピーリンクがクリップボードにコピーされました!
ユーザー属性でユーザーを検索する場合、Red Hat build of Keycloak は、強制的に小文字の比較がされるようにし、ユーザー属性名が検索されなくなりました。この変更の目的は、ユーザー属性テーブルで Red Hat build of Keycloak ネイティブインデックスを使用して検索を高速化することでした。データベースの照合で大文字と小文字が区別されない場合は、検索結果は同じままになります。データベースの照合で大文字と小文字が区別される場合、以前よりも検索結果が少なくなる可能性があります。
1.12.11. パスワードにユーザー名が含まれているかどうかを確認するパスワードポリシー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak は、ユーザー名を含むユーザーパスワードを拒否できる新しいパスワードポリシーをサポートしています。
1.12.12. 必須アクションの改善 リンクのコピーリンクがクリップボードにコピーされました!
Admin Console では、特定のレルムの Required actions タブでいくつかのアクションを設定できるようになりました。現在、Update password は唯一、設定可能で、組み込まれている必須アクションです。Maximum Age of Authentication の設定をサポートしています。これは、ユーザーが再認証なしで kc_action パラメーター (Account Console でのパスワード更新などに使用) でパスワードを更新できる最大時間です。
必要なアクションの並べ替えも改善されました。認証中に複数のアクションが必要な場合、認証中に設定されたアクション (たとえば、kc_action パラメーターによって) であるか、管理者によってユーザーアカウントに手動で追加されたアクションであるかに関係なく、すべてのアクションが一緒にソートされます。
1.12.13. SAML のデフォルトのクライアントプロファイル リンクのコピーリンクがクリップボードにコピーされました!
セキュアな SAML クライアントのデフォルトのクライアントプロファイルが追加されました。Admin Console でレルムのクライアントポリシーを参照すると、新しいクライアントプロファイル saml-security-profile が表示されます。これを使用する場合、SAML クライアントにセキュリティーのベストプラクティスが適用されます。たとえば、署名が強制され、SAML リダイレクトバインディングが無効になり、ワイルドカードリダイレクト URL が禁止されます。
1.12.14. ユーザー削除同意に関するパフォーマンス向上 リンクのコピーリンクがクリップボードにコピーされました!
クライアントスコープまたは完全なレルムが削除されると、関連付けられているユーザーの同意も削除される必要があります。パフォーマンスを向上させるために、テーブル USER_CONSENT_CLIENT_SCOPE に新しいインデックスが追加されました。
テーブルに 300,000 を超えるエントリーが含まれている場合、Red Hat build of Keycloak は自動スキーマ移行中にインデックスの作成をスキップし、代わりに SQL ステートメントをコンソールに記録することに注意してください。Red Hat build of Keycloak 起動後に、データベースでステートメントを手動で実行する必要があります。
1.12.15. 新たに一般化された認証情報のイベントタイプ リンクのコピーリンクがクリップボードにコピーされました!
認証情報の更新 (UPDATE_CREDENTIAL) および削除 (REMOVE_CREDENTIAL) 向けに、一般化されたイベントが存在するようになりました。認証情報の種類は、イベントの credential_type 属性に記述されます。新しいイベントタイプは、Email Event Listener によってサポートされます。
UPDATE_PASSWORD、UPDATE_PASSWORD_ERROR、UPDATE_TOTP、UPDATE_TOTP_ERROR、REMOVE_TOTP、REMOVE_TOTP_ERROR のイベントタイプは現在非推奨であり、今後のバージョンで削除される予定です。
1.12.16. メトリクスおよびヘルスエンドポイントの管理ポート リンクのコピーリンクがクリップボードにコピーされました!
メトリクスとヘルスチェックのエンドポイントは、標準の Red Hat build of Keycloak サーバーポート経由ではアクセスできなくなりました。これらのエンドポイントは外部には公開されるべきではないため、別のデフォルト管理ポート 9000 からアクセスできます。
別のポートを使用すると、Kubernetes 環境での Red Hat build of Keycloak のエンドポイントとして、ユーザーに公開されないようになります。新しい管理インターフェイスでは、設定可能な新しいオプションセットが提供されます。
Red Hat build of Keycloak Operator では、管理インターフェイスがデフォルトで有効になっていると想定されています。詳細は、管理インターフェイスの設定 を参照してください。
1.12.16.1. デフォルトで有効になっている埋め込みキャッシュのメトリクス リンクのコピーリンクがクリップボードにコピーされました!
埋め込みキャッシュのメトリクスがデフォルトで有効になりました。レイテンシーのヒストグラムを有効にするには、cache-metrics-histograms-enabled オプションを true に設定します。
1.12.16.2. HTTP エンドポイントのメトリクスがデフォルトで有効に リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak によって提供されるメトリクスに、http_server で始まる HTTP サーバーメトリクスが含まれるようになりました。以下に例を示します。
http_server_active_requests 1.0
http_server_requests_seconds_count{method="GET",outcome="SUCCESS",status="200",uri="/realms/{realm}/protocol/{protocol}/auth"} 1.0
http_server_requests_seconds_sum{method="GET",outcome="SUCCESS",status="200",uri="/realms/{realm}/protocol/{protocol}/auth"} 0.048717142
http_server_active_requests 1.0
http_server_requests_seconds_count{method="GET",outcome="SUCCESS",status="200",uri="/realms/{realm}/protocol/{protocol}/auth"} 1.0
http_server_requests_seconds_sum{method="GET",outcome="SUCCESS",status="200",uri="/realms/{realm}/protocol/{protocol}/auth"} 0.048717142
新しいオプション http-metrics-histograms-enabled と http-metrics-slos を使用して、デフォルトのヒストグラムバケットまたはサービスレベル目標 (SLO) の特定のバケットを有効にします。http_server_requests_seconds_bucket で提供される追加のメトリクスシリーズの使用方法に関するヒストグラムの詳細は Prometheus ドキュメント を参照してください。
1.12.17. クライアントライブラリーの更新 リンクのコピーリンクがクリップボードにコピーされました!
1.12.17.1. クライアントライブラリーの専用のリリースサイクル リンクのコピーリンクがクリップボードにコピーされました!
このリリースから、一部の Red Hat build of Keycloak クライアントライブラリーのリリースサイクルは、Red Hat build of Keycloak サーバーリリースサイクルから独立して設定されます。26.0 リリースは、クライアントライブラリーが Red Hat build of Keycloak サーバーとともにリリースされる最後のリリースになる可能性があります。今後、クライアントライブラリーは、Red Hat build of Keycloak サーバーとは異なるタイミングでリリースされる可能性があります。
クライアントライブラリーは次のアーティファクトです。
-
Java 管理クライアント - Maven アーティファクト
org.keycloak:keycloak-admin-client -
Java 認証クライアント - Maven アーティファクト
org.keycloak:keycloak-authz-client -
Java ポリシーエンフォーサー - Maven アーティファクト
org.keycloak:keycloak-policy-enforcer
1.12.17.2. サーバーとのクライアントライブラリーの互換性 リンクのコピーリンクがクリップボードにコピーされました!
このリリース以降、クライアントライブラリーは、同じサーバーバージョンと、以前のメジャーサーバーバージョンでテストおよびサポートされます。
サーバーバージョンでサポートされているクライアントライブラリーのバージョンの詳細は、アップグレードガイド を参照してください。
1.12.18. Cookie の更新 リンクのコピーリンクがクリップボードにコピーされました!
1.12.18.1. すべての Cookie に設定された SameSite 属性 リンクのコピーリンクがクリップボードにコピーされました!
以前は、次の Cookie は SameSite 属性を設定しませんでしたが、最近のブラウザーバージョンでは、これらの Cookie はデフォルトで SameSite=Lax に設定されます。
-
KC_STATE_CHECKERはSameSite=Strictに設定されます。 -
KC_RESTARTはSameSite=Noneに設定されます。 -
KEYCLOAK_LOCALEはSameSite=Noneに設定されます。 -
KEYCLOAK_REMEMBER_MEはSameSite=Noneに設定されます。
デフォルト値の SameSite=Lax が原因で、POST ベースのバインディングにおいて問題が発生します。これは主に SAML が該当しますが、一部の OpenID Connect/OAuth 2.0 フローでも採用されています。
1.12.18.2. KC_AUTH_STATE cookie の削除 リンクのコピーリンクがクリップボードにコピーされました!
Cookie KC_AUTH_STATE は削除され、この Red Hat build of Keycloak サーバーで必要なくなったため、この Cookie は設定されていません。
1.12.19. 軽量アクセストークン リンクのコピーリンクがクリップボードにコピーされました!
1.12.19.1. 軽量アクセストークンがさらに軽量に リンクのコピーリンクがクリップボードにコピーされました!
以前のリリースでは、軽量アクセストークンのサポートが追加されました。このリリースでは、軽量アクセストークンからさらに多くの組み込みクレームが削除されています。クレームはプロトコルマッパーによって追加されます。一部は、OIDC 仕様で厳密に要求されていないため、通常のアクセストークンや ID トークンにも影響します。
-
クレーム
subとauth_timeは、プロトコルマッパーによって追加されるようになりました。これらは、すべてのクライアントに自動的に追加される新しいクライアントスコープbasicでデフォルト設定されています。クレームは以前と同様に ID トークンとアクセストークンに追加されますが、軽量アクセストークンには追加されません。 -
現在、クレーム
nonceは、ID トークンにのみ追加されます。通常のアクセストークンや軽量アクセストークンには追加されません。下位互換性のために、このクレームをプロトコルマッパーによってアクセストークンに追加できますが、これは明示的に設定する必要があります。 -
現在、
session_stateは、どのトークンにも追加されていません。プロトコルマッパーで追加することもできます。他の専用クレームsidは、仕様によって引き続きサポートされており、以前のバージョンで提供されており、まったく同じ値が使用されます。
詳細は、クライアントスコープの新規デフォルト basic を参照してください。
1.12.19.2. 管理 REST API の軽量アクセストークン リンクのコピーリンクがクリップボードにコピーされました!
軽量アクセストークンが管理 REST API で使用できるようになりました。security-admin-console および admin-cli クライアントは、デフォルトで軽量アクセストークンを使用するようになったため、このクライアント上で “Always Use Lightweight Access Token” と “Full Scope Allowed” が有効になっています。ただし、Admin Console での動作は実質的に同じままになるはずです。これら 2 つのクライアントに変更を加えた場合や、他の目的で使用している場合は注意してください。
1.12.20. トークンイントロスペクションエンドポイントでの application/jwt メディアタイプのサポート リンクのコピーリンクがクリップボードにコピーされました!
トークンイントロスペクションエンドポイントを呼び出す際に、HTTP Header Accept: application/jwt を使用できます。特定のクライアントに対して有効にすると、完全な JWT アクセストークンを含むトークンイントロスペクションエンドポイントからクレーム jwt が返されます。これは、イントロスペクションエンドポイントを呼び出すクライアントが軽量アクセストークンを使用した場合に特に便利です。
1.12.21. パスワードの変更 リンクのコピーリンクがクリップボードにコピーされました!
1.12.21.1. Argon2 パスワードハッシュ リンクのコピーリンクがクリップボードにコピーされました!
Argon2 は現在、非 FIPS 環境での Red Hat build of Keycloak で使用されるデフォルトのパスワードハッシュアルゴリズムです。
Argon2 は 2015 年のパスワードハッシュコンテスト で優勝し、OWASP によって推奨されるハッシュアルゴリズムです。
Red Hat build of Keycloak 24 では、PBKDF2 のデフォルトのハッシュ反復が 27.5K から 210K に増加し、パスワードハッシュの生成に必要な CPU 時間が 10 倍以上増加しました。Argon2 を使用すると、Red Hat build of Keycloak の以前のリリースとほぼ同じ CPU 時間で、セキュリティーがさらに強化されます。1 つの欠点として、Argon2 ではメモリーがより多く必要になりますが、これは GPU 攻撃に耐えるためには必要です。Red Hat build of Keycloak の Argon2 のデフォルトでは、ハッシュ要求ごとに 7MB が必要です。
メモリーと CPU の過剰な使用を防ぐため、デフォルトでは、Argon2 によるハッシュの並列計算において、JVM で利用可能なコア数が上限となっています。Argon2 のメモリー集約型の性質をサポートするために、デフォルトの GC が ParallelGC から G1GC に更新され、ヒープの使用率が向上します。
Argon2 は FIPS 140-2 に準拠していないことに注意してください。したがって、FIPS 環境の場合、デフォルトのアルゴリズムは引き続き PBKDF2 になります。また、FIPS 以外の環境で使用しており、FIPS 環境に移行する予定がある場合は、最初にパスワードポリシーを pbkdf2-sha512 などの FIPS 準拠アルゴリズムに変更することを検討してください。そうしないと、ユーザーは FIPS 環境に切り替えた後にログインできなくなります。
1.12.21.2. パスワードにユーザー名が含まれているかどうかを確認するパスワードポリシー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak は、ユーザー名を含むユーザーパスワードを拒否できる新しいパスワードポリシーをサポートしています。
1.12.22. パスキーの改善 (プレビュー) リンクのコピーリンクがクリップボードにコピーされました!
Passkeys 条件付き UI のサポートが追加されました。このプレビュー機能を有効にすると、専用のオーセンティケーターが利用可能になります。利用可能なパスキーアカウントのリストから選択し、それに基づいてユーザーを認証できます。
1.12.23. 最初のブローカーログイン時に既存の IDP リンクを上書きするためのオーセンティケーター リンクのコピーリンクがクリップボードにコピーされました!
新しいオーセンティケーター Confirm override existing link が存在します。このオーセンティケーターを使用すると、以前は別の IDP アイデンティティーにリンクされていた Red Hat build of Keycloak ユーザーのリンクされた IDP ユーザー名を上書きできます。詳細は、既存のブローカーの上書きリンク を参照してください。
1.12.24. 認可の変更 リンクのコピーリンクがクリップボードにコピーされました!
1.12.24.1. 認可クライアントライブラリーの重大な修正 リンクのコピーリンクがクリップボードにコピーされました!
keycloak-authz-client ライブラリーのユーザーの場合、AuthorizationResource.getPermissions (…) を呼び出すと、List<Permission> が正しく返されるようになりました。以前は、メソッド宣言で List<Permission> が宣言されていたにもかかわらず、実行時に List<Map> が返されていました。
この修正により、List またはその内容を List<Map> にキャストする必要のあったコードが機能しなくなります。
1.12.24.2. クライアントの認可設定をエクスポートするときに ID が設定されなくなる リンクのコピーリンクがクリップボードにコピーされました!
クライアントの認可設定をエクスポートすると、リソース、スコープ、ポリシーの ID が設定されなくなります。その結果、あるクライアントから別のクライアントに設定をインポートできるようになりました。
1.12.26. LDAP 接続プールの設定 リンクのコピーリンクがクリップボードにコピーされました!
このリリースでは、LDAP 接続プールの設定はシステムプロパティーのみに依存します。
詳細は、接続プールの設定 を参照してください。
1.12.27. Microsoft Active Directory を使用する場合に新しい LDAP ユーザーがデフォルトで有効に リンクのコピーリンクがクリップボードにコピーされました!
Microsoft AD を使用しており、管理インターフェイスを通じてユーザーを作成している場合、ユーザーはデフォルトで有効な状態で作成されます。
以前のバージョンでは、ユーザーに (一時的ではない) パスワードを設定した後にのみ、ユーザーのステータスを更新できました。この動作は、他の組み込みユーザーストレージとも、LDAP プロバイダーによってサポートされている他の LDAP ベンダーとも一致していませんでした。
1.12.28. java-keystore キープロバイダーはより多くのアルゴリズムと vault シークレットをサポート リンクのコピーリンクがクリップボードにコピーされました!
外部 Java キーストアファイルからレルムキーをロードできるようにする java-keystore キープロバイダーは、すべての Red Hat build of Keycloak アルゴリズムを管理するように変更されました。また、ストアから実際のキーを取得するために必要なキーストアとキーシークレットは、vault を使用して設定できます。したがって、Red Hat build of Keycloak レルムは、データベースに機密データを保存せずに、暗号化されたファイルの任意のキーを外部化できます。
このサブジェクトに関する詳細は、レルムキーの設定 を参照してください。
1.12.29. セッションの存続期間とアイドル計算に若干変更が加えられる リンクのコピーリンクがクリップボードにコピーされました!
以前のバージョンでは、セッションがまだ有効かどうかを検証する場合のセッションの最大存続期間とアイドルタイムアウトの計算が若干異なっていました。このバージョンで、検証ではプロジェクトの他の部分と同じコードが使用されるようになりました。
セッションが Remember Me 機能を使用している場合、アイドルタイムアウトと最大有効期間は、共通の SSO の設定値と、Remember me の設定値のどちらか大きい方が適用されます。
1.12.30. 新しいホスト名オプション リンクのコピーリンクがクリップボードにコピーされました!
ホスト名の設定は複雑なため、このリリースにはホスト名 v2 オプションが含まれています。元のホスト名オプションは削除されました。カスタムホスト名設定がある場合は、新しいオプションに移行する必要があります。これらのオプションの動作も変更されていることに注意してください。
詳細は、新しいホスト名オプション を参照してください。
1.12.31. ロギングの強化 リンクのコピーリンクがクリップボードにコピーされました!
1.12.31.1. リモートロギングの Syslog リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak は、RFC 5424 で定義されたプロトコルに基づいて、リモートロギングの Syslog プロトコルをサポートするようになりました。Syslog ハンドラーを有効にすると、すべてのログイベントがリモート Syslog サーバーに送信されます。
詳細は、ロギングの設定 を参照してください。
1.12.31.2. ログハンドラーのさまざまなログレベル リンクのコピーリンクがクリップボードにコピーされました!
console、file、または syslog など、利用可能なすべてのログハンドラーのログレベルを指定できるようになりました。このよりきめ細かいアプローチにより、特定のニーズに合わせてアプリケーション全体のロギングを制御できるようになります。
詳細は、ロギングの設定 を参照してください。
1.12.32. cache オプションがすべてランタイムに指定可能になる リンクのコピーリンクがクリップボードにコピーされました!
ランタイムに cache、cache-stack、cache-config-file オプションを指定できるようになりました。この変更により、ビルドフェーズを実行し、これらのオプションを使用してイメージを再構築する必要がなくなります。
詳細は、ランタイムでのキャッシュオプションの指定 を参照してください。
1.12.33. 高可用性マルチサイトデプロイメントの改善 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak 26 では、推奨される高可用性マルチサイトアーキテクチャーが大幅に改善されました。主な改善点は次のとおりです。
- Red Hat build of Keycloak デプロイメントでは、両方のサイトで同時にユーザー要求を処理できるようになりました。
- 障害が発生した場合にサイト間のレプリケーションを更新するには、サイト間の接続をアクティブに監視する必要があります。
- ロードバランサーのブループリントは、AWS Global Accelerator を使用するように更新されました。これにより、クライアントによる DNS キャッシュによって発生するフェイルオーバー時間の延長を回避できます。
- アーキテクチャーの要件としてユーザーセッションが永続化されました。その結果、Red Hat build of Keycloak または Data Grid のアップグレードでもユーザーセッションは保持されます。
実装の詳細は、高可用性のマルチサイトデプロイメント を参照してください。
1.12.34. getExp メソッドが SingleUseObjectKeyModel に追加される リンクのコピーリンクがクリップボードにコピーされました!
AccessToken、IDToken、および JsonWebToken から非推奨のメソッドが削除された結果、有効期限値に関連するメソッド名との一貫性を保つために SingleUseObjectKeyModel も変更されました。
詳細は、SingleUseObjectKeyModel を参照してください。
1.12.35. PostgreSQL 16 のサポート リンクのコピーリンクがクリップボードにコピーされました!
PostgreSQL 16 にサポート対象およびテスト済みのデータベースが追加される
1.12.36. Infinispan Marshalling から Infinispan Protostream に変更 リンクのコピーリンクがクリップボードにコピーされました!
マーシャリングは、Java オブジェクトをバイトに変換し、Red Hat build of Keycloak サーバー間でネットワーク経由で送信するプロセスです。Red Hat build of Keycloak 26 では、マーシャリング形式が JBoss Marshalling から Infinispan Protostream に変更されます。
JBoss Marshalling と Infinispan Protostream は相互に互換性がないため、誤って使用するとデータが損失する可能性があります。したがって、このバージョンにアップグレードすると、すべてのキャッシュがクリアされます。
Infinispan Protostream は、下位互換性と上位互換性の利点を持つ プロトコルバッファー (proto 3) に基づいています。
1.12.37. Keycloak CR の変更 リンクのコピーリンクがクリップボードにコピーされました!
1.12.37.1. Keycloak CR は、標準のスケジューリングオプションをサポートしています。 リンクのコピーリンクがクリップボードにコピーされました!
Keycloak CR は、Keycloak Pod のスケジュールを制御するためのファーストクラスプロパティーを公開するようになりました。スケジューリングスタンザは、オプションの標準 Kubernetes アフィニティー、toleration、トポロジースプレッド制約、および優先度クラス名を公開して、サーバー Pod のスケジューリングと配置を微調整します。
詳細は、スケジュール設定 を参照してください。
1.12.37.2. KeycloakRealmImport CR はプレースホルダーの置換をサポートする リンクのコピーリンクがクリップボードにコピーされました!
KeycloakRealmImport CR は、spec.placeholders を公開し、インポート時にプレースホルダーを置き換えるための環境変数を作成します。
詳細は、レルムのインポート を参照してください。
1.12.38. 管理者のブートストラップとリカバリー リンクのコピーリンクがクリップボードにコピーされました!
以前のリリースでは、すべての管理ユーザーがロックアウトされたときに、Red Hat build of Keycloak インスタンスへのアクセスを回復するプロセスは困難でした。ただし、Red Hat build of Keycloak では、一時的な管理者アカウントをブートストラップし、失われた管理者アクセスを回復するための新しい方法が提供されるようになりました。
これで、特定のオプションを指定して start または start-dev コマンドを実行し、一時的な管理者アカウントを作成できるようになりました。また、新しい専用コマンドが導入され、ユーザーは管理者アクセスをすぐに取得し直すことができます。
その結果、環境変数 KEYCLOAK_ADMIN および KEYCLOAK_ADMIN_PASSWORD は非推奨になりました。代わりに、KC_BOOTSTRAP_ADMIN_USERNAME および KC_BOOTSTRAP_ADMIN_PASSWORD を使用する必要があります。これらも一般的なオプションなので、--bootstrap-admin-username=admin のように CLI またはその他の設定ソース経由で指定できます。
詳細は、一時管理者アカウント を参照してください。
1.12.39. OpenTelemetry Tracing のプレビュー機能 リンクのコピーリンクがクリップボードにコピーされました!
OpenTelemetry Tracing の基礎となる Quarkus サポートが Red Hat build of Keycloak に公開され、アプリケーショントレースを取得して監視性を向上させることができます。この機能には、パフォーマンスのボトルネックを特定し、アプリケーション障害の原因を特定し、分散システムを通じて要求をトレースする機能が含まれます。
詳細は、トレースの有効化 を参照してください。
1.12.40. DPoP の改善 リンクのコピーリンクがクリップボードにコピーされました!
DPoP (OAuth 2.0 Demonstrating Proof-of-Possession) プレビュー機能が改善されました。DPoP は現在、すべての付与タイプでサポートされています。以前のリリースでは、この機能は authorization_code 付与タイプに対してのみサポートされていました。UserInfo エンドポイントでは DPoP トークンタイプもサポートされています。
1.12.41. ECDH-ES 暗号鍵管理アルゴリズムのサポートが追加される リンクのコピーリンクがクリップボードにコピーされました!
現在、Red Hat build of Keycloak では、クライアントの暗号鍵管理アルゴリズムとして ECDH-ES、ECDH-ES+A128KW、ECDH-ES+A192KW、または ECDH-ES+A256KW を設定できます。Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) 仕様による鍵合意では、JWT に epk、apu、apv という 3 つの新しいヘッダーパラメーターが導入されています。現在、Red Hat build of Keycloak 実装は、必須の epk のみを管理し、他の 2 つ (オプション) はヘッダーに追加されません。これらのアルゴリズムの詳細は JSON Web Algorithms (JWA) を参照してください。
また、レルムキーを生成するための新しいキープロバイダー ecdh-generated が利用可能になり、Java KeyStore プロバイダーに ECDH アルゴリズムのサポートが追加されました。
1.12.42. 再起動後も取り消されたアクセストークンが保持される リンクのコピーリンクがクリップボードにコピーされました!
このリリースでは、埋め込みキャッシュを使用する場合、取り消されたアクセストークンはデータベースに書き込まれ、クラスターが再起動されたときにデフォルトで再ロードされます。
詳細は、削除されたアクセストークンの保持 を参照してください。
1.12.43. クライアントポリシーのクライアント属性条件 リンクのコピーリンクがクリップボードにコピーされました!
client-attribute に基づく条件がクライアントポリシーに追加されました。この条件を使用して、特定のクライアント属性に特定の値を持つクライアントを指定できます。クライアントポリシーのドキュメントに記載されているように、この条件を評価するときは AND 条件または OR 条件のいずれかを使用します。
1.12.44. ECDH-ES 暗号鍵管理アルゴリズムのサポートが追加される リンクのコピーリンクがクリップボードにコピーされました!
現在、Red Hat build of Keycloak では、クライアントの暗号鍵管理アルゴリズムとして ECDH-ES、ECDH-ES+A128KW、ECDH-ES+A192KW、または ECDH-ES+A256KW を設定できます。Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) 仕様による鍵合意では、JWT に epk、apu、apv という 3 つの新しいヘッダーパラメーターが導入されています。現在、Red Hat build of Keycloak 実装では必須の epk のみが管理され、他の 2 つ (オプション) はヘッダーに追加されません。これらのアルゴリズムの詳細は、JSON Web Algorithms (JWA) を参照してください。
また、レルムキーを生成するための新しいキープロバイダー ecdh-generated が利用可能になり、Java KeyStore プロバイダーに ECDH アルゴリズムのサポートが追加されました。
1.12.45. proxy-trusted-addresses オプションが追加される リンクのコピーリンクがクリップボードにコピーされました!
proxy-trusted-addresses は proxy-headers オプションが設定されていて、信頼できるプロキシーアドレスの許可リストを指定する場合に使用できます。特定のリクエストのプロキシーアドレスが信頼されていない場合、それぞれのプロキシーヘッダー値は使用されません。詳細は、信頼できるプロキシー を参照してください。
1.12.46. proxy-protocol-enabled オプションが追加される リンクのコピーリンクがクリップボードにコピーされました!
proxy-protocol-enabled オプションは、プロキシーの背後からの要求を処理するときにサーバーが HA PROXY プロトコルを使用するかどうかを制御します。true に設定すると、返されるリモートアドレスは実際の接続クライアントからのアドレスになります。詳細は、プロキシープロトコル を参照してください。
1.12.47. 信頼とキーマテリアルを再読み込みするオプションが追加される リンクのコピーリンクがクリップボードにコピーされました!
https-certificates-reload-period オプションを設定すると、https-* オプションによって参照されるキーストア、トラストストア、および証明書ファイルの再読み込み期間を定義できます。再読み込みを無効にするには -1 を使用します。デフォルトは 1h (1 時間) です。詳細は、証明書とキーの再読み込み を参照してください。
1.12.48. キャッシュの最大カウントを設定するオプションが追加される リンクのコピーリンクがクリップボードにコピーされました!
--cache-embedded-${CACHE_NAME}-max-count= を設定すると、指定されたキャッシュ内のキャッシュエントリーの数の上限を定義できます。
1.12.49. https-trust-store-* オプションの非推奨が解除に リンクのコピーリンクがクリップボードにコピーされました!
コミュニティーからのフィードバックに基づいて、信頼できる証明書の粒度を向上させるために、https-trust-store-* オプションを非推奨にしないことを決定しました。
1.13. アダプターのサポート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak のこのバージョンでは、次のアダプターがサポートされています。
- JavaScript アダプター: 26.0.12
- Node.js アダプター: 26.0.11
- JBoss EAP OpenID Connect アダプター: 8.0
- Keycloak SAML Adapter RPM for JBoss EAP: 8.0
1.14. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
前のセクションでは、一部の機能がすでに非推奨として説明されています。次のセクションでは、その他の非推奨の機能を詳しく説明します。
1.14.1. Resteasy util クラスは非推奨に リンクのコピーリンクがクリップボードにコピーされました!
org.keycloak.common.util.Resteasy が非推奨になりました。代わりに org.keycloak.util.KeycloakSessionUtil を使用して KeycloakSession を取得する必要があります。
カスタムプロバイダーを作成するとき以外は、KeycloakSession を取得しないようにすることを強く推奨します。
1.14.2. UserRepresentation のプロパティー origin は非推奨に リンクのコピーリンクがクリップボードにコピーされました!
UserRepresentation の origin プロパティーは非推奨であり、今後のリリースで削除される予定です。
代わりに、federationLink プロパティーを使用して、ユーザーがリンクされているプロバイダーを取得することを推奨します。
1.14.3. keycloak-common モジュールは非推奨に リンクのコピーリンクがクリップボードにコピーされました!
以下の項目は、今後の Red Hat build of Keycloak バージョンで削除される予定であり、後継はありません。
-
org.keycloak.common.util.reflections.Reflections.newInstance(java.lang.Class<T>) -
org.keycloak.common.util.reflections.Reflections.newInstance(java.lang.Class<?>, java.lang.String) -
org.keycloak.common.util.reflections.SetAccessiblePrivilegedAction -
org.keycloak.common.util.reflections.UnSetAccessiblePrivilegedAction
1.14.4. keycloak-services モジュールは非推奨に リンクのコピーリンクがクリップボードにコピーされました!
UserSessionCrossDCManager クラスは非推奨であり、Red Hat build of Keycloak の今後のバージョンで削除される予定です。代わりに使用するメソッドは、UserSessionCrossDCManager Javadoc を参照してください。
1.14.5. 認証情報を削除するためのアカウント REST エンドポイントが非推奨に リンクのコピーリンクがクリップボードにコピーされました!
ユーザーの認証情報を削除するためのアカウント REST エンドポイントは非推奨です。このバージョン以降、Account Console はこのエンドポイントを使用しなくなりました。これは、アプリケーションが開始する Delete Credential に置き換えられます。
1.14.6. 非推奨となった keycloak ログインテーマ リンクのコピーリンクがクリップボードにコピーされました!
keycloak ログインテーマは、新しい keycloak.v2 に置き換えられて非推奨となり、今後のバージョンでは削除される予定です。互換性の理由から新しいレルムのデフォルトのままですが、すべてのレルムテーマを keycloak.v2 に切り替えることが強く推奨されます。
1.14.7. PasswordHashProvider でメソッド encode が非推奨に リンクのコピーリンクがクリップボードにコピーされました!
org.keycloak.credential.hash.PasswordHashProvider インターフェイスの String encode(String rawPassword, int iterations) メソッドが非推奨になりました。このメソッドは、今後の Red Hat build of Keycloak リリースの 1 つで削除される予定です。
1.14.8. 非推奨のテーマ変数 リンクのコピーリンクがクリップボードにコピーされました!
次の変数は Admin テーマでは非推奨となり、今後のバージョンでは削除される予定です。
-
authServerUrl。代わりにserverBaseUrlを使用してください。 -
authUrl。代わりにadminBaseUrlを使用してください。
次の変数は Account テーマでは非推奨となり、今後のバージョンでは削除される予定です。
-
authServerUrl。代わりにserverBaseUrlを使用してください。serverBaseUrlには末尾のスラッシュが含まれないことに注意してください。 -
authUrl。代わりにserverBaseUrlを使用してください。serverBaseUrlには末尾のスラッシュが含まれないことに注意してください。
1.14.9. クライアントセッションで現在のリフレッシュトークンを取得および設定するメソッドが非推奨に リンクのコピーリンクがクリップボードにコピーされました!
org.keycloak.models.AuthenticatedClientSessionModel インターフェイスのメソッド String getCurrentRefreshToken()、void setCurrentRefreshToken (String currentRefreshToken)、int getCurrentRefreshTokenUseCount()、および void setCurrentRefreshTokenUseCount (int currentRefreshTokenUseCount) は非推奨です。これらは、クライアントセッション内で複数のリフレッシュトークンを管理するために getRefreshToken (String reuseId) などのパラメーターとして識別子を必要とする同様のメソッドに置き換えられました。このメソッドは、今後の Red Hat build of Keycloak リリースで削除される予定です。
1.15. 削除された機能 リンクのコピーリンクがクリップボードにコピーされました!
前のセクションでは、一部の機能が削除されたことがすでに説明されています。次のセクションでは、削除されたその他の機能を詳しく説明します。
1.15.1. UMD ディストリビューションのサポートの削除 リンクのコピーリンクがクリップボードにコピーされました!
Keycloak JS ライブラリーの UMD ディストリビューションの ユニバーサルモジュール定義 が削除されました。つまり、ライブラリーはグローバル変数として公開されなくなり、代わりに モジュール としてインポートする必要があります。この変更は、最新の JavaScript 開発手法に沿ったものであり、ブラウザーとビルドツール間のエクスペリエンスの一貫性が向上し、一般的に副次的な影響が少なく予測可能なコードになります。
Vite や Webpack などのバンドラーを使用している場合は何も変更されず、以前と同じ使用感が得られます。ブラウザーでライブラリーを直接使用している場合は、コードを更新してライブラリーをモジュールとしてインポートする必要があります。
ライブラリーのインポートを簡潔にするために、インポートマップ を使用することもできます。
TypeScript を使用している場合は、ライブラリーを解決できるように tsconfig.json を更新する必要がある場合があります。
{
"compilerOptions": {
"moduleResolution": "Bundler"
}
}
{
"compilerOptions": {
"moduleResolution": "Bundler"
}
}
1.15.2. CollectionUtil intesection メソッドの削除 リンクのコピーリンクがクリップボードにコピーされました!
org.keycloak.common.util.CollectionUtil.intersection メソッドが削除されました。既存のコレクションでは代わりに 'java.util.Collection.retainAll' を使用する必要があります。
1.15.3. Account Console v2 テーマの削除 リンクのコピーリンクがクリップボードにコピーされました!
Account Console v2 テーマは、Red Hat build of Keycloak から削除されました。このテーマは Red Hat build of Keycloak 24 で非推奨となり、Account Console v3 テーマに置き換えられました。このテーマをまだ使用している場合は、Account Console v3 テーマに移行する必要があります。
1.15.4. 元のホスト名オプションの削除 リンクのコピーリンクがクリップボードにコピーされました!
これらのオプションは、Hostname v2 と呼ばれる新しいオプションに置き換えられました。詳細は、ホスト名の設定 (v2) および 新しいホスト名のオプション を参照してください。
1.15.5. proxy オプションの削除 リンクのコピーリンクがクリップボードにコピーされました!
proxy オプションは Red Hat build of Keycloak 24 では非推奨となり、必要に応じてホスト名オプションと組み合わせた proxy-headers オプションに置き換えられました。詳細は、リバースプロキシーの使用 を参照してください。
1.15.6. ほとんどの Java アダプターの削除 リンクのコピーリンクがクリップボードにコピーされました!
ほとんどの Java アダプターは、Red Hat build of Keycloak コードベースとダウンロードページから削除されました。
-
OAuth 2.0/OIDC の場合、これには EAP アダプター、Servlet Filter アダプター、
KeycloakInstalledデスクトップアダプター、jaxrs-oauth-clientアダプター、JAAS ログインモジュール、Spring アダプター、および SpringBoot アダプターの削除が含まれます。 - SAML の場合、これには Servlet Filter アダプターの削除が含まれます。SAML アダプターは JBoss EAP でも引き続きサポートされます。
- 汎用 Authorization Client ライブラリーは引き続きサポートされます。他の OAuth 2.0 または OpenID Connect ライブラリーと組み合わせて使用できます。この認可クライアントライブラリーを Elytron OIDC や SpringBoot などのサードパーティー Java アダプターと一緒に使用する例は、クイックスタート を参照してください。WildFly で使用される SAML アダプターの例は、クイックスタートも確認できます。
1.15.7. OSGi メタデータの削除 リンクのコピーリンクがクリップボードにコピーされました!
OSGi メタデータを使用していたすべての Java アダプターが削除されたため、jar に対して OSGi メタデータは生成されなくなりました。
1.15.8. レガシーの Cookie の削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak では、_LEGACY Cookie が送信されなくなりました。この Cookie は、Cookie の SameSite フラグをサポートしていない古いブラウザーへの回避策として導入されました。
_LEGACY Cookie は、安全でないコンテキストからのログインを許可する別の目的でも使用できます。Red Hat build of Keycloak の実稼働環境では安全でないコンテキストは決して推奨されませんが、localhost の外部から http 経由で Red Hat build of Keycloak にアクセスすることは比較的頻繁に行われます。_LEGACY Cookie の代わりとして、Red Hat build of Keycloak では secure フラグが設定されなくなりました。ただし、安全でないコンテキストが使用されていることを検出すると、SameSite=None ではなく SameSite=Lax が設定されます。
1.15.9. EnvironmentDependentProviderFactory の削除 リンクのコピーリンクがクリップボードにコピーされました!
EnvironmentDependentProviderFactory.isSupported() メソッドは、ふくすのリリースで非推奨となり、現在は削除されています。
代わりに、isSupported (Config.Scope config) を実装します。
1.15.10. 従来の redirect_uri パラメーターおよび SPI オプションのサポートの削除 リンクのコピーリンクがクリップボードにコピーされました!
以前のバージョンの Red Hat build of Keycloak は、http(s)://example-host/auth/realms/my-realm-name/protocol/openid-connect/logout?redirect_uri=encodedRedirectUri などのログアウトエンドポイント URL を開いて、ユーザーの自動ログアウトおよびアプリケーションへのリダイレクトをサポートしていました。この機能は Red Hat build of Keycloak 18 で非推奨となり、OpenID Connect 仕様への準拠が優先され、このバージョンでは削除されました。
この変更の一環として、SPI の関連する次の設定オプションが削除されました。
-
--spi-login-protocol-openid-connect-legacy-logout-redirect-uri -
--spi-login-protocol-openid-connect-suppress-logout-confirmation-screen
ログアウトにこれらのオプションまたは redirect_uri パラメーターをまだ使用している場合は、代わりに OpenID Connect RP-Initiated Logout 仕様 を実装する必要があります。
1.15.11. org.keycloak:keycloak-model-legacy の削除 リンクのコピーリンクがクリップボードにコピーされました!
org.keycloak:keycloak-model-legacy モジュールは以前のリリースで非推奨となり、このリリースでは削除されました。代わりに org.keycloak:keycloak-model-storage モジュールを使用してください。
1.15.12. オフラインセッションの事前読み込みの削除 リンクのコピーリンクがクリップボードにコピーされました!
起動時にオフラインセッションをプリロードする古い動作は、以前のリリースで非推奨になった後に削除されました。
1.15.13. JavaScript Admin Client からの setOrCreateChild() メソッドの削除 リンクのコピーリンクがクリップボードにコピーされました!
groups.setOrCreateChild() メソッドは、JavaScript ベースの管理クライアントから削除されました。まだこのメソッドを使用している場合は、代わりに createChildGroup() または updateChildGroup() メソッドを使用してください。
1.15.14. session_state クレームの削除 リンクのコピーリンクがクリップボードにコピーされました!
sid クレームと同じ値を含む session_state クレームは、OpenID Connect Front-Channel Logout および OpenID Connect Back-Channel Logout の仕様に準拠するようになり、不要になったため、すべてのトークンから削除されました。session_state クレームは、OpenID Connect Session Management 仕様に従って、Access Token Response 内に残ります。
なお、setSessionState() メソッドも IDToken クラスから削除され、代わりに setSessionId() メソッドが導入され、getSessionState() メソッドは非推奨になりました。
新しい セッション状態 (session_state) マッパーも含まれており、クライアントスコープ (たとえば、basic クライアントスコープ) に割り当てて、古い動作に戻すことができます。
古いバージョンの JS アダプターを使用する場合は、上記のようにクライアントスコープを使用して セッション状態 (session_state) マッパーも使用する必要があります。
1.15.15. 永続セッションが有効になっている場合のアイドルセッションの猶予期間の削除 リンクのコピーリンクがクリップボードにコピーされました!
以前のバージョンの Red Hat build of Keycloak では、ユーザーおよびクライアントセッションのアイドル時間に 2 分間の猶予期間が追加されました。以前のアーキテクチャーで、セッションの更新時間がクラスターで非同期に複製されていたため、この猶予期間が追加されました。永続的なユーザーセッションでは、これは不要になり、猶予期間が削除されました。
以前の動作を維持するには、レルム設定を更新し、セッションとクライアントのアイドル時間を 2 分延長します。
1.15.16. アダプターおよびその他の BOM ファイルの削除 リンクのコピーリンクがクリップボードにコピーされました!
org.keycloak.bom:keycloak-adapter-bom および org.keycloak.bom:keycloak-misc-bom BOM ファイルは削除されます。ほとんどの Java アダプターが削除されたため、アダプター BOM は役に立たなくなりました。misc BOM には、keycloak-test-helper というアーティファクトが 1 つだけ含まれていましたが、このリリースではそのアーティファクトも削除されます。
1.15.17. keycloak-test-helper の削除 リンクのコピーリンクがクリップボードにコピーされました!
このリリースでは、maven アーティファクト org.keycloak:keycloak-test-helper が削除されました。このアーティファクトは、Java 管理クライアントを処理するためのヘルパーメソッドをいくつか提供しました。ヘルパーメソッドを使用する場合は、必要に応じてそれらをアプリケーションにフォークすることが可能です。
1.15.18. JEE admin-client の削除 リンクのコピーリンクがクリップボードにコピーされました!
このリリースでは JEE admin-client は削除されていますが、Jakarta admin-client は引き続きサポートされます。
1.15.19. 特定のクラスからの非推奨メソッドの削除 リンクのコピーリンクがクリップボードにコピーされました!
以下のメソッドが AccessToken クラスから削除されました。
-
expiration.代わりにexpメソッドを使用してください。 -
notBefore.代わりにnbfメソッドを使用してください。 -
issuedAt.代わりにiatメソッドを使用してください。
以下のメソッドは IDToken クラスから削除されました。
-
getAuthTimeおよびsetAuthTime。getAuth_timeメソッドとsetAuth_timeメソッドをそれぞれ使用します。 -
notBefore.代わりにnbfメソッドを使用してください。 -
issuedAt.代わりにiatメソッドを使用してください。 -
setSessionState.代わりにsetSessionIdメソッドを使用してください (詳細は、上記のsession_stateクレームに関するセクションを参照してください)
以下のメソッドは JsonWebToken クラスから削除されました。
-
expiration.代わりにexpメソッドを使用してください。 -
notBefore.代わりにnbfメソッドを使用してください。 -
issuedAt.代わりにiatメソッドを使用してください。
また、exp と nbf のクレームはオプションであるため、トークンに設定されないことも想定する必要があります。以前は、これらのクレームの値は有効な NumericDate である必要があるため、0 の値に設定されていましたが、これはまったく意味がありません。
1.15.20. 非推奨の Cookie メソッドの削除 リンクのコピーリンクがクリップボードにコピーされました!
カスタム Cookie を設定するための次の API は削除されました。
-
ServerCookie-NewCookie.Builderに置き換えられました -
LocaleSelectorProvider.KEYCLOAK_LOCALE-CookieType.LOCALEに置き換えられました -
HttpCookie-NewCookie.Builderに置き換えられました -
HttpResponse.setCookieIfAbsent (HttpCookie cookie)-HttpResponse.setCookieIfAbsent (NewCookie cookie)に置き換えられました
1.15.21. 非推奨の LinkedIn プロバイダーの削除 リンクのコピーリンクがクリップボードにコピーされました!
バージョン 22.0 では、LinkedIn の OAuh 2.0 ソーシャルプロバイダーが新しい OpenId Connect 実装に置き換えられました。レガシープロバイダーは非推奨になりましたが、既存のレルムでまだ機能している場合に備えて削除されませんでした。Red Hat build of Keycloak 26 では、古いプロバイダーとそれに関連する linkedin-oauth 機能が削除されます。今後は、デフォルトの LinkedIn ソーシャルプロバイダーのみが利用可能なオプションです。
1.16. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
各リリースには問題の修正が含まれています。
- Red Hat ビルドの Keycloak 26.0.15 で修正された問題
- Red Hat ビルドの Keycloak 26.0.14 で修正された問題
- Red Hat ビルドの Keycloak 26.0.13 で修正された問題
- Red Hat build of Keycloak 26.0.12 で修正された問題
- Red Hat build of Keycloak 26.0.11 で修正された問題
- Red Hat build of Keycloak 26.0.10 で修正された問題
- Red Hat build of Keycloak 26.0.9 で修正された問題
- Red Hat build of Keycloak 26.0.8 で修正された問題
- Red Hat build of Keycloak 26.0.7 で修正された問題
- Red Hat build of Keycloak 26.0.6 で修正された問題
- Red Hat build of Keycloak 26.0.x で修正された問題
1.17. サポートされる構成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak 26.0 でサポートされる構成は、サポートされる構成 を参照してください。
1.18. コンポーネントの詳細 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Keycloak 26.0 でサポートされるコンポーネントバージョンのリストは、コンポーネントの詳細 を参照してください。