2023年11月23日
リリースをダウンロードするには、Keycloak ダウンロードにアクセスしてください。
Keycloak には、新しいクライアントプロファイル fapi-2-security-profile
および fapi-2-message-signing
が追加されました。これらは、クライアントとの通信時に Keycloak が最新の FAPI 2 ドラフト仕様への準拠を保証するものです。貢献してくれた Takashi Norimatsu に感謝します。
Keycloak は、OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP) のサポートをプレビュー提供しています。貢献してくれた Takashi Norimatsu と Dmitry Telegin に感謝します。
以前のバージョンでは、イントロスペクションエンドポイントは、アクセストークンで利用可能なほとんどのクレームを自動的に返していました。今回のバージョンでは、ほとんどのプロトコルマッパーに新しいスイッチ Add to token introspection
が追加されました。この追加により、イントロスペクションエンドポイントがアクセストークンとは異なるクレームを返すことができるようになり、柔軟性が向上します。これは、「ライトウェイトアクセストークン」のサポートに向けた最初のステップであり、アクセストークンは多くのクレームを省略できますが、イントロスペクションエンドポイントからは引き続き返されます。以前のバージョンから移行する場合、イントロスペクションエンドポイントはアクセストークンから返されるクレームと同じクレームを返す必要があるため、移行後もデフォルトで効果的に同じ動作になるはずです。貢献してくれた Shigeyuki Kabano に感謝します。
OAuth 2.0 デバイス認可グラントフローにフィーチャーフラグが追加され、この機能を簡単に無効にできるようになりました。この機能はデフォルトで有効になっています。貢献してくれた Thomas Darimont に感謝します。
Keycloak は、パスキーのプレビューサポートを提供しています。
パスキーの登録と認証は、WebAuthn の機能によって実現されます。したがって、Keycloak のユーザーは、既存の WebAuthn の登録と認証によってパスキーの登録と認証を行うことができます。
同期されたパスキーとデバイスバインドされたパスキーの両方を、同一デバイスおよびクロスデバイス認証の両方に使用できます。ただし、パスキー操作の成功はユーザーの環境に依存します。環境内でどの操作が成功するかを確認してください。貢献してくれた Takashi Norimatsu と、この機能のアイデアとテストにご協力いただいた Thomas Darimont に感謝します。
WebAuthn ポリシーに新しいフィールド Extra Origins
が追加されました。これにより、非 Web プラットフォーム(例:ネイティブモバイルアプリケーション)との相互運用性が向上します。貢献してくれた Charley Wu に感謝します。
ユーザーが複数のブラウザータブでログインページを開き、そのうちの1つで認証した場合、後続のブラウザータブで認証しようとすると You are already logged-in
ページが開かれるという悪名高い問題がありました。これは改善され、最初のブラウザータブの認証後、他のブラウザータブも自動的に認証されるようになりました。ただし、認証セッションが期限切れになり、1つのブラウザータブでのみ再開された場合など、動作が100%正確ではないコーナーケースがまだあります。そのため、他のブラウザータブは自動的にログインに追従しません。この領域では、引き続き改善を計画しています。
Keycloak は、新しいパスワードポリシーをサポートしています。これにより、ユーザーが再認証なしでパスワードを変更できる認証の最大有効期間を指定できます。このパスワードポリシーが 0 に設定されている場合、ユーザーはアカウントコンソールまたは他の方法でパスワードを変更するために再認証する必要があります。デフォルト値の 5 分よりも低い値または高い値を指定することもできます。貢献してくれた Thomas Darimont に感謝します。
高可用性と障害からの迅速な復旧を提供するために、一部の環境では Keycloak を複数の独立したサイトにデプロイすることが不可欠です。このリリースでは、Keycloak のアクティブ/パッシブデプロイメントのプレビューサポートが追加されました。
負荷に耐え、障害シナリオから復旧できるセットアップのテストと検証に多くの労力が費やされました。開始するには、高可用性ガイドを使用してください。これには、高可用性 Keycloak をクラウド環境にデプロイするための包括的なブループリントも含まれています。
以前のバージョンで非推奨になった WildFly および JBoss EAP 用の OpenID Connect アダプターは、このリリースで削除されました。これは、WildFly に含まれており、Keycloak アダプターからのシームレスな移行を提供する Elytron OIDC アダプターに置き換えられます。
WildFly および JBoss EAP 用の SAML アダプターは、ZIP ダウンロードとして配布されなくなり、Galleon フィーチャーパックとして配布されるようになりました。これにより、インストールがより簡単かつシームレスになります。
詳細については、アプリケーションとサービスの保護ガイドを参照してください。
Keycloak には、高負荷時に受信リクエストを適切に拒否するための http-max-queued-requests
オプションが追加されました。詳細については、プロダクションガイドを参照してください。
Keycloak は RESTEasy Reactive に切り替えました。 quarkus-resteasy-reactive
を使用するアプリケーションは、リアクティブスタイル/セマンティクスを使用していなくても、起動時間の短縮、ランタイムパフォーマンスの向上、およびメモリフットプリントの削減というメリットを引き続き享受できるはずです。 JAX-RS API に直接依存する SPI は、この変更と互換性があるはずです。 ResteasyClientBuilder
を含む RESTEasy Classic に依存する SPI は互換性がなく、更新が必要になります。これは、Jersey のような JAX-RS API の他の実装にも当てはまります。
宣言型ユーザープロファイルは、このリリースではまだプレビュー機能ですが、サポート対象の機能に昇格させるために懸命に取り組んでいます。フィードバックをお待ちしております。問題点や改善点がありましたら、Github issue を作成してください。理想的には、ラベル area/user-profile
を付けてください。また、移行に関連する追加情報については、このリリースの移行変更を含む アップグレードガイド を確認することをお勧めします。
多数のグループとサブグループを持つユースケースにおいて、グループ検索のパフォーマンスが向上しました。サブグループのページネーションルックアップを可能にする改善があります。貢献してくれた Alice に感謝します。
テーマのメッセージプロパティファイルは、UTF-8 エンコーディングで読み込まれるようになり、ISO-8859-1 エンコーディングへの自動フォールバックが追加されました。
詳細については、移行ガイドを参照してください。
Map Store は、以前のリリースでは実験的な機能でした。このリリース以降、削除され、ユーザーは現在の JPA ストアを引き続き使用する必要があります。詳細については、移行ガイドを参照してください。
アップグレードする前に、変更の完全なリストについては、移行ガイドを参照してください。