LoginSignup
0
1

More than 1 year has passed since last update.

Keycloakによる認証基盤の立ち上げ(2) Quarkus版

Last updated at Posted at 2022-09-09

この記事の概要

やってみる

Get started with Keycloak on bare metal によると、OpenJDK 11以降が必要になったとのこと。

32bit Windows環境では選択肢少ないが、Zulu 17 JDKをscoopから入れる。

> scoop install zulu17-jdk

Keycloak本体は、こんな感じでbucket自作。

keycloak.json
{
    "version": "19.0.1",
    "description": "Open Source Identity and Access Management",
    "homepage": "https://www.keycloak.org/",
    "env_add_path": "bin",
    "extract_dir": "keycloak-19.0.1",
    "url": "https://github.com/keycloak/keycloak/releases/download/19.0.1/keycloak-19.0.1.tar.gz",
    "hash": "b1e9f89a6d02b9bf43848a970c69d94fb7e75c75fc8ebe2f69a1b7d2e0739733",
    "persist": [
        "conf",
        "data",
        "providers",
        "themes"
    ]
}

とりあえず永続化したほうがよさそうなものは perisist に移したけど、基本的にscoopは上等なzip展開ツールくらいにしか使っていない。

まず何も考えずに kc.bat start-dev してみる。
追加オプションなにかつけたかもしれないけど忘れた。

(だいぶ昔のスクリーンショットベースで記事書いてます、雑で申し訳ない)

image.png

環境変数設定を先にするのもありだけど、案内に従って http://localhost:8080/ を開く。

image.png

管理用アカウントと初期パスワード設定。

image.png

管理用アカウント作成。

image.png

あらためてログインする。

管理画面まで入ると、旧Wildfly版と変わらなそう。

Realm作成したので、いろいろ見ながら設定。。

(このへんも詳細忘れた)

kc build
kc show-config

ここからは、
リバースプロキシで立ち上げる記事を参考 に、実環境用の準備。

Wildfly版のときと同様、httpsはフロント側で担い、バックエンドをhttpにする。
この場合は、 --proxy edge を引数指定したらいいようだ。

kc start --hostname=example.com --proxy edge

あらためてフロント側から管理画面にアクセス、、すると、ログイン直後の画面でエラー。
なんだこれ。

エラー画面でHTMLソースを見てみると、リバースプロクシ環境を誤認しているのか、httpとhttpsが混在しているようなコードが生成されている。

仕方ないので、フロント側で使っているLet's Encryptの鍵と証明書を与えてhttps起動に変えてみよう。

引数指定は --proxy=reencrypt に。ホスト名指定もやめる。

start-keycloak.cmd
kc start --hostname-strict=false --http-enabled=false ^
    --proxy=reencrypt ^
    --https-certificate-file=cert.pem ^
    --https-certificate-key-file=privkey.pem ^
    --https-port=7161 ^
    --log-level=INFO

だめでした。証明書チェックでエラー、、というのは、以下の鍵ではだめだという。

privkey.pem
(略)
-----BEGIN EC PRIVATE KEY-----
(略)

どうせバックエンドだし、もう Snake Oil でいいや。。

無事開きました。

image.png

サービス化

Wildflyと違い、QuarkusではWindowsサービス関係のヘルパーは無いようだ。

WinSW で独自に仕込むか。。

別記事にします。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1