概要
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だった頃(一例)
./bin/standalone.sh -c standalone.xml
- →弊社内関連ブログ記事
- Quarkusになってから(一例)
./bin/kc.sh start-dev
- →弊社内関連ブログ記事
コマンドで初期管理者ユーザを作成する方法が変わっています。
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 18.0.2)
- 新画面 (Keycloak 19.0.2)
- 旧画面 (Keycloak 18.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
そのほかの変更点
- Quarkusへの移行による変更点は、以下の公式ドキュメントにまとめられています。
- Release notes
- コメントを追加
- 閲覧数 1848
協業のご連絡 / シンオン株式会社
協業のご連絡 / シンオン株式会社
ご担当者様
お世話になっております。
シンオン株式会社の田中と申します。
貴社の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/
---------------------------------------------------------------
コメントを追加