keycloak ユーザーストレージSPI
keycloak を試した時のメモ
ユーザー・ストレージSPI
keycloak-documentation.openstandia.jp
ユーザー・ストレージSPIを使用して、外部ユーザー・データベースとクレデンシャル・ストアに接続するように、Keycloakの拡張機能を実装できます。組み込みのLDAPとActive Directoryのサポートは、このSPIを実際に実装したものです。設定などの作業をせず、すぐにKeycloakはローカル・データベースを使用して、ユーザーの作成、更新、検索とクレデンシャルの検証をします。 しかし、多くの場合、組織はKeycloakのデータモデルに移行できない外部の独自ユーザー・データベースをすでに持っています。このような状況では、アプリケーション開発者は、ユーザー・ストレージSPIの実装をコーディングして、外部ユーザーストアと、Keycloakがユーザーのログインおよび管理に使用する内部ユーザー・オブジェクト・モデルをブリッジすることができます。
ブリッジを書けば、独自ユーザーの認証ができるようになる。
dasniko/keycloak-user-spi-demo
これを利用させてもらう。 git clone
し mvn install
で jar を作っておく。keycloak に jar をコピーして起動。
git clone https://github.com/dasniko/keycloak-user-spi-demo.git cd keycloak-user-spi-demo mvn install docker create -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=password --name keycloak jboss/keycloak docker cp ./target/keycloak-demo-user-spi.jar keycloak:/opt/jboss/keycloak/standalone/deployments/ docker start keycloak
keycloak に admin/password で入り、 user federation に demo-user-provider があるので選択しsave。
すると users に keycloak-user-spi-demo のユーザーが表示される。
ここ から username/password がわかる。
demo-user でログイン
あとは fred.flintstone/fred でkeycloakに入ったり、ロール付けたりするといいんじゃないですかね。