2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Keycloakの操作について

Last updated at Posted at 2021-01-14

目次

  • Keycloakのイメージ
  • Keycloakの実行
  • Master Realmの作成
  • 子Realm1とユーザーの作成
  • アプリケーシの設定
  • スコープ、マッパーの作成とクライアントにスコープを設定する
  • ユーザー属性の設定
  • アクセストークンの内容確認
  • Keycloak設定エクスポート

参考サイト

Keycloak Getting Started Guide

Keycloakのイメージ

KeycloakをID Providerとして、RESTfulAPIが動くリソースサーバーを作る。
Realmは、以下のようなイメージになる為、これからは、Master Realm, Realm1, User等を作成する。

Master Realm (アドミン:その他のrealmを管理する)
    |-Realm1 (ここでユーザーとアプリケーションを作成する)
    |    |- User -> Application
    |-Realm2 (ここでユーザーとアプリケーションを作成する)
    |   |- User -> Application
    |-Realm3 (ここでユーザーとアプリケーションを作成する)
    |    |- User -> Application

Keycloakの実行

①Keycloakの実行ファイルから実行する方法

Keycloakをダウンロードして解凍し、bin/standalone.batを実行し、起動する。
https://www.keycloak.org/downloads.html
image.png

image.png

②dockerからKeycloakを実行する方法

DockerとKeycloakで世界最速OpenID Connectの為、DockerからKeycloakを実行する事にする。
参考サイト:https://www.keycloak.org/getting-started/getting-started-docker

ログインユーザーは、admin/adminになる。

docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:12.0.1

ポート変更後は以下になる。

docker run -p 8088:8088 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:12.0.1

ポート番号変更方法

docker run -p 8088:8088 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:12.0.1 -Djboss.http.port=8088

Master Realmの作成

以下リンクを実行し、Keycloakのmaster realmを作成する。
http://localhost:8080/auth/
image.png

image.png

子Realm1とユーザーの作成

  • Realm1の作成:Administration Consoleをクリックし、作成したmaster realmでサインインする。
    image.png

image.png

  • メイン画面が表示される。
    image.png

  • Realm1を作成する為、[Add realm]を押下して作成する。
    image.png

image.png

image.png

  • ユーザーの作成:メニューから[Users]を選択し、右側の[Add user]を押下する。
    image.png

  • ユーザー名を入力し、保存する。
    image.png

image.png

  • ユーザーの氏名設定:[Details]にて、氏名を入力し、保存を押下する。
    image.png

  • ユーザーが最初ログインする為、仮パスワードを設定する必要がある。

  • [Credentials]にて仮パスワードを入力し、セットパスワードを押下する。

  • これで作成したユーザーでサインイン出来るようになる。
    image.png

image.png

image.png

ユーザーサインイン

アプリケーシの設定

  • 最初は、対象のアプリケーションをKeycloakインスタンスに登録することである。

  • Master Realmでサインインし、クライアントを作成する。

  • [Clients]から[Create]ボタンを押下する。
    image.png

  • クライアント名とルートurlを入力し、保存ボタンを押下する。

  • テストの為、KeycloakWebサイトのSPAテストアプリケーション「https://www.keycloak.org/app/ 」を利用する予定にする。
    image.png

image.png

  • KeycloakWebサイトのSPAテストアプリケーションにて、情報を登録する。
    https://www.keycloak.org/app/

  • 保存すると、デフォルト設定で利用出来るようになる。
    image.png

  • [Sign in]をクリックして、以前に起動したKeycloakサーバーを使用してこのアプリケーションを認証できるようになりる
    image.png

image.png

image.png

スコープ、マッパーの作成とクライアントにスコープを設定する

スコープの作成

  • [Client Scopes]から[Create]をクリックする。
    image.png

  • 赤枠の項目を入力し、[保存]ボタンを押下する。
    image.png

マッパーの作成

  • [Client Scopes]の[Mappers]にて[Create]をクリックする。
    image.png

  • 赤枠の項目を入力し、[保存]ボタンを押下する。
    image.png

クライアントにスコープを設定

  • ①[Clients]にて対象クライアントを選択する。
  • ②[Client Scopes]タブにて、[Optional Client Scopes]中の対象スコープを選択し、[Add selected]を押下する。
    image.png

ユーザー属性の設定

  • ユーザー属性の設定には、スコープ作成時指定した[User Attribute]の属性の値をユーザーにセットする事になる。
  • [Users]メニューから対象ユーザーを選択し、[Attributes]タブにて、以下を設定し[Add]を押下する。最後に[Save]を押下する。

    Key : スコープ作成時指定した[User Attribute]の値

    Value : スコープ作成時指定した[Token Claim Name]の値
    image.png

アクセストークンの内容確認

  • アクセストークンの内容は、Keycloakにて確認出来る。

  • [Clients]メニューから対象クライアントを選択し、[Client Scopes]タブの[Evaluate]タブをクリックする。

  • [Client Scopes]にて対象スコープを選択し、[Add selected]を押下する。[User]に対象ユーザーを選択し、[Evakuate]ボタンを押下する。
    image.png

  • [Generalted Access Token]タブにて内容が確認出来る。

image.png

Keycloak設定エクスポート

[Export]メニューを押下し、赤枠の設定を行い[Export]ボタンを押下する。
image.png

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?