Keycloak23.0.1のセットアップ

:::note info
※本記事は、Keycloakのバージョンアップに伴い、「[Keycloakのセットアップ](https://qiita.com/tamura__246/items/13fc301e9409fef77bf3)」の記事を最新化したものです。
:::

概要
-
2023年12月2日時点での最新版Keycloak23.0.1を使用できるようにセットアップする手順について説明します。

セットアップ手順は以下の通りです。

1.Keycloakのダウンロード
2.サーバの起動
3.管理ユーザの作成
4.管理コンソールへのログイン

これに加えて、このページでは、Keycloakを日本語化する方法とアンインストールする方法についても触れます。

なお、詳細については、Keycloakの[各種ガイド](https://www.keycloak.org/documentation.html)を参照してください。NRI OpenStandiaで[ガイドの日本語訳](https://openstandia.jp/oss_info/keycloak/document.html)も公開しています(現在21.1.1まで)。


システム要件
-
Keycloakを起動するための要件は以下の通りです。
- Javaを実行可能なOS
- OpenJDK17以降


セットアップ手順
-
Keycloakサーバーを起動し、管理者ユーザーを設定後、管理コンソールにログインするまでの手順について説明します。


Keycloakのダウンロード
-
Keycloakの[ダウンロードページ](https://www.keycloak.org/downloads.html)からKeycloakの圧縮ファイルをダウンロードします。


サーバの起動
-
ダウンロードしたら、適当なディレクトリに解凍して下さい。`bin`ディレクトリにある`kc.sh start-dev`または`kc.bat start-dev`を実行すると、Keycloakサーバが起動します。今回は検証のため、開発者モードで起動します。
- Linux/Unixの場合
```shell
$ ./kc.sh start-dev
```
- Windowsの場合
```shell
> kc.bat start-dev
```
コンソールに以下のようなメッセージが表示されれば、起動は完了しています。
```
2023-11-29 20:39:27,670 INFO  [io.quarkus] (main) Keycloak 23.0.1 on JVM (powered by Quarkus 3.2.9.Final) started in 13.669s. Listening on: http://0.0.0.0:8080
2023-11-29 20:39:27,670 INFO  [io.quarkus] (main) Profile dev activated.
```
:::note info
サーバーを停止する場合は、コンソールでCtrl+Cを入力して下さい。
:::


管理ユーザの作成
-
サーバーが起動したら、ブラウザーを開き http://localhost:8080 にアクセスします。以下のようなページが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/0d81b0e4-7c2e-0eec-f820-6ee1e99de2e0.png)
Keycloakには、デフォルトで設定された管理者のアカウントが存在しません。まずはそれをウェルカムページで作成する必要があります。作成した管理者アカウントで、ユーザーの作成や認証方式の設定、Keycloakによって保護されるアプリケーションの登録などができます。


管理コンソールへのログイン
-
管理者アカウントを作成したら、管理コンソールにログインすることができます。

ウェルカムページの左にある「Administration Console」のリンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/85b65228-1115-c95b-ebb8-cbac189519b0.png)


ウェルカムページで作成したユーザー名とパスワードを入力します。Keycloak管理コンソールのメインページが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/185d36be-1e03-9224-1f5a-c5bcf20c7dd1.png)

管理コンソール内の設定項目について知りたい場合は、?(クエスチョンマーク)のアイコンをクリックすると、設定項目を説明するテキストがポップアップ表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/60949b27-8b0e-b032-f921-28d111ea328d.png)


日本語化
-
Keycloakは国際化対応しており、日本語にも対応しています。管理コンソールやユーザー・アカウント・サービスを日本語化するには以下の手順を実施します。

メニューの「Realm settings」から「Localization」のタブをクリックし、「Internationalization」の設定を「Enabled」にします。

また「Supported locales」に「日本語」を追加し、「Default loacale」を「日本語」にしたうえで「Save」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/da05f6aa-7847-d3cc-e7cf-269a4e74a873.png)

いったんログアウトすれば、日本語化は完了のはずですが、おそらくキャッシュなどに起因して日本語化が直ぐに反映されない場合があります。その場合は、右側の「admin」と書かれたリンクをクリックして、「Manage account」を選択して下さい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/100d61aa-5013-5ccd-f577-38b8cf0cd0e6.png)

「Personal info」の「Select a locale」から言語の設定が行えるので、日本語を選んで下さい。
この情報をSaveする際には管理ユーザのEmailと姓、名の登録が必須です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/cc60aa0d-11d5-22ef-4d35-b01cdb3f8ad0.png)

これにより、日本語化は完了します。うまくいかない場合はログアウトを行ってください。
ログイン画面には言語を選択するセレクトボックスが表示され、先ほど「Supported locales」に追加した言語を選択できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/6575248e-ae3d-009b-6442-d4a880065be3.png)

日本語を指定してからログインすると、先ほどまで英語だった画面が日本語で表示されるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3341882/82f8b917-fb60-c6c1-3904-cc310d65263d.png)

Keycloakのアンインストール
-
Keycloakのアンインストールに特別な作業は必要ありません。基本的には解凍したディレクトリを削除するだけです。


参考資料
-
- [Keycloak Documentation](https://www.keycloak.org/documentation.html)
- [NRI OpenStandia Keycloak日本語ドキュメント - Keycloak 入門編](https://keycloak-documentation.openstandia.jp/)