Keycloak + .NET で始める認証・認可
最低限の初期設定とトークン取得
Keycloakの初期設定
まずは、Keycloakの初期設定を行います。
※起動方法は前回の記事参照
ブラウザで
http://localhost:8080
にアクセスし、Keycloakの管理画面にログインします。ユーザ名、パスワードは、上記の
KEYCLOAK_ADMIN
とKEYCLOAK_ADMIN_PASSWORD
に指定した値でログインできます。)
ログイン後、
Master
レルムが選択されていることを確認します。Add realm
をクリックし、新しいレルムを作成します。レルム名を入力し、
Create
をクリックします。ここでは、
MyRealm
という名前で作成します。レルムが作成されたら、
MyRealm
を選択します。Clients
をクリックし、Create
をクリックします。Client ID
にmy-client
を入力します。Client authentication
をOn
にします。Save`をクリックします。
これで、クライアントが作成されました。
my-client
を選択し、Settings
タブをクリックします。Access Type
をconfidential
に変更し、Save
をクリックします。これで、クライアントの設定が完了しました。
トークンエンドポイントの確認
Keycloakのトークンエンドポイントを確認します。
MyRealm
を選択します。Clients
をクリックし、my-client
を選択します。Credentials
タブをクリックし、Client Secret
の値をコピーします。この値は、後でトークンを取得する際に必要です。
Endpoints
タブをクリックし、Token Endpoint
の値をコピーします。Token Endpoint
の値をメモ帳などに保存しておきます。この値は、後でトークンを取得する際に必要です。
トークンの取得
.NETアプリケーションでKeyclaokを利用することが目的ですが、
いったん、Powershellを使ってトークンを取得してみます。
1 | $realm = "MyRealm" |
$client_secret
には、my-client
のCredentials
タブで設定したClient Secret
の値を入力します。
これで、トークンが取得できました。
トークンの確認
取得したトークンをデコードして中身を確認してみます。
1 | $token.access_token | ConvertFrom-Json | Format-List |
トークンの中身が表示されれば、トークンの取得は成功です。
トークンの内容は、jwt.ioなどのサイトで確調してみると、より詳細な情報が確認できます。