Keycloakバージョン15.0〜19.0.2までの変更点一部紹介

  •  
 
ホス に投稿

タグ

概要

Keycloakは頻繁にバージョンアップされています。GitHubのリリースページを見ると、ほぼ毎月でしょうか。

この記事では、Keycloakを以前試したことのある方を主なターゲットとして、Keycloak15.0あたりから19.0.2までに変更された機能をピックアップして紹介します。

WildFlyからQuarkusへの変更

  • Keycloakを実行するためのアプリケーションが、WildFly(アプリケーションサーバ)からQuarkusに移行しました。
  • WildFlyを内蔵したKeycloakは非推奨ですが、19.0.2時点でもリリースされています。

Quarkusとは

従来、JavaはソースコードからJavaの実行ファイルにコンパイルされて、実行時にはJavaVMが必要に応じて必要な部分をネイティブバイナリにコンパイルしながら動作します。 Quarkusでは、「GraalVM」というコンパイラを使ってJavaコードからLinuxのネイティブバイナリを生成して、実行時にはネイティブバイナリを起動するようです。

WildFlyからQuarkusへの移行

  • Quarkusはいつから?

    • Keycloak 17.0.0 からサポートされました。
    • https://www.keycloak.org/2022/02/keycloak-1700-released#_quarkus_distribution_is_now_fully_supported
  • WildFlyはいつまで?

    • サポートは2022年6月までのようです。
    • すでに稼働しているKeycloakをWildFlyからQuarkusに移行するための公式ガイドがあります。
      • https://www.keycloak.org/migration/migrating-to-quarkus

Quarkusに移行したことによる変更点

起動コマンドが変わっています。

コマンドで初期管理者ユーザを作成する方法が変わっています。

WildFlyだった頃

  • ./add-user-keycloak.shを実行して管理者ユーザを作成してKeycloakを再起動していました。

Quarkusになってから

  • 環境変数KEYCLOAK_ADMINにユーザ名、KEYCLOAK_ADMIN_PASSWORDにパスワードを設定してからKeycloakを起動すると、環境変数の値を読み込み管理者ユーザが作成されます。

デフォルトのコンテキストパスがなくなっています。

  • URLが変わりました。
    • 以前は、http://<FQDN>:8080/auth
    • 現在は、http://<FQDN>:8080/
  • 注意点
    • 古い記事を参考にkcadm.shで接続するとき、サーバURLのプレフィックスの指定に注意してください。
    • コンテキストパスを独自に設定することもできます。
      • 環境変数としてexport KC_HTTP_RELATIVE_PATH=/authのように設定します。
      • 関連ドキュメント: http-relative-path

カスタムプロバイダ(SPI)のホットデプロイがサポートされなくなりました。

カスタムプロバイダ(Service Provider Interfaces)のデプロイ方法が変更になっています。

変更点

  • 変更前 (サポートされなくなったこと)
    • カスタムプロバイダをstandalone/deploymentsディレクトリに配置すると実行中のKeycloakが自動的に読み込んでくれるホットデプロイはサポートされなくなりました。
    • EARパッケージ形式を作成してlib/ディレクトリに配置する方法や、jboss-deployment-structure.xmlファイルもサポートされなくなりました。
  • 変更後
    • providersディレクトリに配置したあと、Keycloakを再起動する必要があります。

関連ドキュメント

  • providersディレクトリ (Keycloak 19.0.2)
    • https://www.keycloak.org/docs/19.0.2/server_development/#packaging-and-deployment
  • standalone/deploymentsディレクトリ (Keycloak 16.0)
    • https://www.keycloak.org/docs/16.0/server_development/index.html#registering-provider-implementations

その他のKeycloak 15.0以降の主な変更点

QuarkusかWildFlyかに関わらず、以前にKeycloakを利用した方にとって気になると思われる変更(筆者の主観)をピックアップします。

OIDC Logout に対応しました。

Keycloakバージョン15.0.0で、「Front channel logout」に対応しました。 その後、バージョン18、19で改善が行われています。

  • 公式ドキュメント
    • https://www.keycloak.org/docs/19.0.2/server_admin/#_oidc-logout

管理画面のデザイン変更 (バージョン19.0.0)

管理画面のデザインが変わりました。

  • レルム設定画面
    • 旧画面 (Keycloak 18.0.2)
      レルム設定 旧画面
    • 新画面 (Keycloak 19.0.2)
      レルム設定 新画面
  • 認証設定画面
    • 旧画面 (Keycloak 18.0.2)
      レルム設定 旧画面
    • 新画面 (Keycloak 19.0.2)
      レルム設定 新画面
  • ドキュメント
    • https://www.keycloak.org/docs/latest/release_notes/index.html#new-admin-console-graduation

User Storage SPIの仕様変更

「User Storage SPI」は、外部のLDAPやActive Directoryに登録されているユーザをKeycloakに取り込んで認証等に利用できるようにする機能ですが、この機能はkeycloak-model-legacyに変更されて、いずれ廃止となります。

後継として、「Map Storage SPI」となります。Keycloak 19.0.0時点ではまだ完全ではありません。

  • ドキュメント
    • https://www.keycloak.org/2022/07/storage-map.html
    • https://www.keycloak.org/docs/19.0.2/server_development/#_user-storage-spi

そのほかの変更点

協業のご連絡 / シンオン株式会社

ご担当者様

お世話になっております。
シンオン株式会社の田中と申します。

貴社のHPを拝見させていただき、
平均「30万円」程度のキックバックをお支払いしている弊社パートナー制度に関して、ご連絡させていただきました。

弊社は、15年にわたりシステム開発と、運用時のサポートを行っており、
特に中小規模の製造業様向けシステム開発の実績があり、貴社のクライアント様内で親和性の高い企業様をご紹介いただけないでしょうか?

具体的には、クライアント様をご紹介いただくことで、
業務効率改善システムの導入の納品完了後に、「受注額」と「月々のランニングコスト」の一部をキックバックさせて頂く形となります。

開発事例としましては、下記含め幅広いニーズに対してのご対応が可能でございます。

① 出荷情報閲覧システム
② 出荷情報配信システム
③ トレーサビリティシステム
④ 出荷QR管理システム

少しでもご興味をお持ち頂けましたら、
一度弊社との親和性などについて、お打ち合わせさせていただきたく存じます。

少しでもご興味ございましたら、
『興味あり』
とご返信、もしくはお電話いただけますと幸いです。

何卒よろしくお願いいたします。

---------------------------------------------------------------
シンオン株式会社
マーケティング担当
田中 実

〒530-0001
大阪市 北区梅田1丁目2番2号 大阪駅前第2ビル12-12

メール : marketing@synon.co.jp
TEL : 06-7777-0756
日程調整リンク:https://meetings.hubspot.com/minoru-tanaka
HP:https://synon.co.jp/
---------------------------------------------------------------
・パートナープログラムの詳細
https://www.synon.co.jp/partner/

・中小企業製造業様向けシステム開発の詳細
https://www.synon.co.jp/proposal/

・開発実績
https://www.synon.co.jp/works-system/

・現場・工場のペーパーレスでの業務効率化 時短サービス(IT補助金対象サービス)の詳細
https://www.syncsync.jp/
---------------------------------------------------------------

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。
画像
レルム設定画面 旧画面
レルム設定画面 新画面
認証設定画面 旧画面
認証設定画面 新画面