【Keycloak】サンプル・アプリケーションのセキュリティー保護(Getting Started Guide)
2021/3/5時点の内容です。
環境・前提
本手順は、Getting Started Guideにしたがってサンプルアプリケーションを動作させる手順です。
Keycloakサーバーの停止状態で始める
サンプル・アプリケーションのセキュリティー保護
Keycloakを使用してサンプルアプリケーション(WildFlyサーブレット)をセキュリティー保護する。
Keycloakが使用するポートの調整
サンプルアプリとKeycloakの動作ポートが重複するため、Keycloakが動作するポート番号を +100する(8180に変更)
Keycloakサーバー起動
cd /opt/keycloak-12.0.4/bin/
./standalone.sh -Djboss.socket.binding.port-offset=100
アクセス確認する
WildFly ダウンロード・インストール
WildFlyダウンロードする # 11.0.0.Final
WildFlyインストール
cd /opt
ダウンロードファイル(wildfly-11.0.0.Final.tar.gz`)を上記ディレクトリに配置する
tar -xvzf ./wildfly-11.0.0.Final.tar.gz
WildFlyクライアント・アダプターのインストール
WildFlyクライアント・アダプターをダウンロードする (Client Adapters箇所からダウンロードする)
WildFlyクライアント・アダプターインストール
cd /opt/wildfly-11.0.0.Final
ダウンロードファイル(keycloak-oidc-wildfly-adapter-12.0.4.tar.gz)を上記ディレクトリに配置する
tar -xvzf ./keycloak-oidc-wildfly-adapter-12.0.4.tar.gz
cd ./bin
./jboss-cli.sh --file=adapter-elytron-install-offline.cli
アプリケーションサーバ起動
./standalone.sh
WildFlyアプリケーションの登録
管理者アカウントで管理コンソールにログイン
Demo レルムを選択
Clients をクリックして、クライアント・ページを開く
Create をクリック
Add Clientダイアログで、次のようにフィールドに入力して、 vanilla というクライアントを作成
Client ID:vanilla
Client Protcol : openid-connect
Save をクリック
Vanilla クライアントページで、 Installation タブをクリック
Keycloak OIDC JSON を選択して、後の手順で必要なファイルを生成
Download をクリックして Keycloak.json を保存
XMLテンプレートを生成するには、 Keycloak OIDC JBoss Subsystem XML を選択
Download をクリックしてWildFlyの設定を含むコピーを保存
WildFlyインスタンスの変更
Keycloakによってセキュリティー保護される前に追加の設定を行う
WildFlyの設定ディレクトリに移動
cd /opt/wildfly-11.0.0.Final/standalone/configuration
standalone.xmlを編集
開始タグと終了タグのペアを使用するように変更(511行目)
変更前 : <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
変更後 : <subsystem xmlns="urn:jboss:domain:keycloak:1.1"></subsystem>
上記開始タグと終了タグの間に以下の内容を追加する
code:standalone.xml
<secure-deployment name="vanilla.war">
<realm>demo</realm>
<public-client>true</public-client>
<ssl-required>EXTERNAL</ssl-required>
<resource>vanilla</resource>
</secure-deployment>
アプリケーション・サーバーを再起動
cd /opt/wildfly-11.0.0.Final
./standalone.sh
アプリケーションをセキュリティー保護するためのサンプルコードのインストール
gitインストール(yum)
Apache Maven インストール(curl)
次のコマンドを使用して、コードをダウンロードし、ディレクトリーを変更
git clone https://github.com/keycloak/keycloak-quickstarts
cd keycloak-quickstarts/app-profile-jee-vanilla/config
keycloak.json ファイルを現在のディレクトリーにコピー
コピー先:/opt/keycloak-quickstarts/app-profile-jee-vanilla/config
cp -pi /root/Downloads/keycloak.json ./
1つ上のレベルの app-profile-jee-vanilla ディレクトリーに移動
cd ../
次のコマンドを使用してコードをインストール
mvn clean wildfly:deploy
ログイン確認
<参考>