1.8. 削除された機能


前のセクションでは、一部の機能が削除されたことがすでに説明されています。次のセクションでは、削除されたその他の機能を詳しく説明します。

1.8.1. UMD ディストリビューションのサポートの削除

Keycloak JS ライブラリーの UMD ディストリビューションの ユニバーサルモジュール定義 が削除されました。つまり、ライブラリーはグローバル変数として公開されなくなり、代わりに モジュール としてインポートする必要があります。この変更は、最新の JavaScript 開発手法に沿ったものであり、ブラウザーとビルドツール間のエクスペリエンスの一貫性が向上し、一般的に副次的な影響が少なく予測可能なコードになります。

Vite や Webpack などのバンドラーを使用している場合は何も変更されず、以前と同じ使用感が得られます。ブラウザーでライブラリーを直接使用している場合は、コードを更新してライブラリーをモジュールとしてインポートする必要があります。

<!-- Before -->
<script src="/path/to/keycloak.js"></script>
<script>
    const keycloak = new Keycloak();
</script>

<!-- After -->
<script type="module">
    import Keycloak from '/path/to/keycloak.js';
    const keycloak = new Keycloak();
</script>

ライブラリーのインポートを簡潔にするために、インポートマップ を使用することもできます。

<script type="importmap">
    {
        "imports": {
            "keycloak-js": "/path/to/keycloak.js"
        }
    }
</script>
<script type="module">
    // The library can now be imported without specifying the full path, providing a similar experience as with a bundler.
    import Keycloak from 'keycloak-js';
    const keycloak = new Keycloak();
</script>

TypeScript を使用している場合は、ライブラリーを解決できるように tsconfig.json を更新する必要がある場合があります。

{
    "compilerOptions": {
        "moduleResolution": "Bundler"
    }
}

1.8.2. CollectionUtil intesection メソッドの削除

org.keycloak.common.util.CollectionUtil.intersection メソッドが削除されました。既存のコレクションでは代わりに 'java.util.Collection.retainAll' を使用する必要があります。

1.8.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.8.4. 元のホスト名オプションの削除

これらのオプションは、Hostname v2 と呼ばれる新しいオプションに置き換えられました。詳細は、ホスト名の設定 (v2) および 新しいホスト名のオプション を参照してください。

1.8.5. proxy オプションの削除

proxy オプションは Red Hat build of Keycloak 24 では非推奨となり、必要に応じてホスト名オプションと組み合わせた proxy-headers オプションに置き換えられました。詳細は、リバースプロキシーの使用 を参照してください。

1.8.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.8.7. OSGi メタデータの削除

OSGi メタデータを使用していたすべての Java アダプターが削除されたため、jar に対して OSGi メタデータは生成されなくなりました。

1.8.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.8.9. EnvironmentDependentProviderFactory の削除

EnvironmentDependentProviderFactory.isSupported() メソッドは、ふくすのリリースで非推奨となり、現在は削除されています。

代わりに、isSupported (Config.Scope config) を実装します。

1.8.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.8.11. org.keycloak:keycloak-model-legacy の削除

org.keycloak:keycloak-model-legacy モジュールは以前のリリースで非推奨となり、このリリースでは削除されました。代わりに org.keycloak:keycloak-model-storage モジュールを使用してください。

1.8.12. オフラインセッションの事前読み込みの削除

起動時にオフラインセッションをプリロードする古い動作は、以前のリリースで非推奨になった後に削除されました。

1.8.13. JavaScript Admin Client からの setOrCreateChild() メソッドの削除

groups.setOrCreateChild() メソッドは、JavaScript ベースの管理クライアントから削除されました。まだこのメソッドを使用している場合は、代わりに createChildGroup() または updateChildGroup() メソッドを使用してください。

1.8.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.8.15. 永続セッションが有効になっている場合のアイドルセッションの猶予期間の削除

以前のバージョンの Red Hat build of Keycloak では、ユーザーおよびクライアントセッションのアイドル時間に 2 分間の猶予期間が追加されました。以前のアーキテクチャーで、セッションの更新時間がクラスターで非同期に複製されていたため、この猶予期間が追加されました。永続的なユーザーセッションでは、これは不要になり、猶予期間が削除されました。

以前の動作を維持するには、レルム設定を更新し、セッションとクライアントのアイドル時間を 2 分延長します。

1.8.16. アダプターおよびその他の BOM ファイルの削除

org.keycloak.bom:keycloak-adapter-bom および org.keycloak.bom:keycloak-misc-bom BOM ファイルは削除されます。ほとんどの Java アダプターが削除されたため、アダプター BOM は役に立たなくなりました。misc BOM には、keycloak-test-helper というアーティファクトが 1 つだけ含まれていましたが、このリリースではそのアーティファクトも削除されます。

1.8.17. keycloak-test-helper の削除

このリリースでは、maven アーティファクト org.keycloak:keycloak-test-helper が削除されました。このアーティファクトは、Java 管理クライアントを処理するためのヘルパーメソッドをいくつか提供しました。ヘルパーメソッドを使用する場合は、必要に応じてそれらをアプリケーションにフォークすることが可能です。

1.8.18. JEE admin-client の削除

このリリースでは JEE admin-client は削除されていますが、Jakarta admin-client は引き続きサポートされます。

1.8.19. 特定のクラスからの非推奨メソッドの削除

以下のメソッドが AccessToken クラスから削除されました。

  • expiration.代わりに exp メソッドを使用してください。
  • notBefore.代わりに nbf メソッドを使用してください。
  • issuedAt.代わりに iat メソッドを使用してください。

以下のメソッドは IDToken クラスから削除されました。

  • getAuthTime および setAuthTimegetAuth_time メソッドと setAuth_time メソッドをそれぞれ使用します。
  • notBefore.代わりに nbf メソッドを使用してください。
  • issuedAt.代わりに iat メソッドを使用してください。
  • setSessionState.代わりに setSessionId メソッドを使用してください (詳細は、上記の session_state クレームに関するセクションを参照してください)

以下のメソッドは JsonWebToken クラスから削除されました。

  • expiration.代わりに exp メソッドを使用してください。
  • notBefore.代わりに nbf メソッドを使用してください。
  • issuedAt.代わりに iat メソッドを使用してください。

また、expnbf のクレームはオプションであるため、トークンに設定されないことも想定する必要があります。以前は、これらのクレームの値は有効な NumericDate である必要があるため、0 の値に設定されていましたが、これはまったく意味がありません。

1.8.21. 非推奨の LinkedIn プロバイダーの削除

バージョン 22.0 では、LinkedIn の OAuh 2.0 ソーシャルプロバイダーが新しい OpenId Connect 実装に置き換えられました。レガシープロバイダーは非推奨になりましたが、既存のレルムでまだ機能している場合に備えて削除されませんでした。Red Hat build of Keycloak 26 では、古いプロバイダーとそれに関連する linkedin-oauth 機能が削除されます。今後は、デフォルトの LinkedIn ソーシャルプロバイダーのみが利用可能なオプションです。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.