Keycloak 設定ガイド

[更新: 2025年7月28日]

Keycloak の設定

Keycloak を使用したOIDC認証の設定例について説明します。
version は、26.1.4を使用しています。

サイドバーから Clients を選択し、Create client ボタンを押下します。

Create clientボタンを押下する

General settings の項目を入力し、Next ボタンを押下します。

General settingsの項目を入力する

Capability settings の項目を入力し、Next ボタンを押下します。

Capability settingsの項目を入力する

Login settings の項目は入力せず、Save ボタンを押下します。

Login settingsの項目は入力しない

Credentials タブを選択し、クライアントシークレットを確認します。

Credentials タブを選択する

以下のコマンドを実行し、jwks_uri(トークン検証に必要な公開鍵のURI)を確認します。

curl 'http://<Keycloakのドメイン:ポート>/realms/<realm名>/.well-known/openid-configuration'

Keys タブを選択し、User JWKS URL を有効化します。
JWKS URL に jwks_uri を入力し、Saveボタンを押下します。

User JWKS URL を有効化する

サイドバーから User を選択し、Add user ボタンを押下します。

Add user ボタンを押下する

ユーザの情報を入力し、Create ボタンを押下します。

ユーザの情報を入力する

Credentials タブを選択し、ユーザのパスワードを設定します。

Set password を押下する ユーザのパスワードを設定する

OIDC認証の作成

サイドバーからOIDC認証一覧を選択し、OIDC認証作成ボタンを押下します。

OIDC作成ボタンを押下する

OIDC認証の情報を入力し、作成ボタンを押下するとOIDC認証を追加することができます。

OIDC認証の情報を入力する

認証フローは以下の2つがご利用いただけます。(複数選択可能)

3つの認証フローが利用可能

設定値

項目

設定値

名前(必須)

OIDC認証の識別名

認証フロー(必須)

認可コードフロー / アクセストークン認証フロー のいずれかを選択

Issuer URL(必須)

認証サービスのURL

クライアントID(必須)

認証サービスのクライアントID

クライアントシークレット(必須)

認証サービスのクライアントシークレット

オーディエンス

トークンの aud クレームを検証するための値

スコープ

スコープを検証するための値

認証情報の非表示

認証情報を、サービス(アップストリームサーバ)に転送するかどうかを選択

サービスの作成

サイドバーからサービス一覧を選択し、サービス作成ボタンを押下します。

サービス作成ボタンを押下する

必要な項目を入力し、作成ボタンを押下するとサービスを作成することができます。
認証設定項目にて、OIDC認証を選択するとOIDC認証選択項目が表示されます。

作成ボタンを押下する 作成したOIDC認証を選択する

設定値

項目

設定値

名前(必須)

任意のサービス名

タグ

任意の値

プロトコル(必須)

http or https

ホスト(必須)

バックエンドサービスのホスト

パス

バックエンドサービスのパス(未入力の場合、「/」に設定される)

ポート

バックエンドサービスのポート番号(未入力の場合、設定したプロトコルに対応するポート番号が設定される)

認証設定

OIDC認証を設定

OIDC認証選択

作成したOIDC認証名を設定

作成に成功すると、サービス一覧画面に表示されます。
サービス名をクリックもしくは行をダブルクリックすることで、サービス詳細画面に遷移します。
サービス詳細画面に遷移すると、登録したサービスの情報を確認することができます。
認証設定に選択したOIDC認証が設定されていることを確認します。

登録したサービスの情報を表示

ルートの作成

サイドバーからルート一覧を選択し、ルート作成ボタンを押下します。

ルート作成ボタンを押下する

必要な項目を入力し、作成ボタンを押下するとルートを作成することができます。

作成ボタンを押下する

設定値

項目

設定値

名前(必須)

任意のルート名

タグ

任意の値

プロトコル(必須)

http or https or http/https

ホスト(必須)

自動発行されたホスト名および設定したドメイン名を選択

パス

任意のパス(未入力の場合、「/」が設定される)

HTTPメソッド

ルートへのアクセスメソッド(未入力の場合、全メソッドが許可される)

Keycloak にルートのURIを登録

settings タブを選択し、Valid redirect URIs にルートの URI を入力後、Save ボタンを押下します。

Valid redirect URIs にルートのURLを入力する

ルートにアクセス(認可コードフロー)

認証フローで 認可コードフロー を選択している場合、画面上からルートにアクセスすると Keycloak の認証画面が表示されます。

Keycloakの認証画面が表示される

作成したユーザの情報を入力し、Sign inボタンを押下します。

ユーザの情報を入力する

ルートにアクセス(アクセストークン認証フロー)

認証フローで アクセストークン認証フロー を選択している場合、アクセストークンをAuthorizationヘッダに設定し、ルートにアクセスします。

curl --location 'https://site-xxxxxxxxxxxxxxxx.tk1.apigw.sakura.ne.jp/example' \
--header 'Authorization: Bearer (アクセストークン)'