2.2. アーキテクチャー
この例では、2 つのエンドポイントを提供するシンプルなマイクロサービスをビルドする方法を示します。
-
/api/users/me
-
/api/admin
これらのエンドポイントは保護されており、クライアントがリクエストとともにベアラートークンを送信した場合にのみアクセスできます。ベアラートークンは有効 (署名、有効期限、audience など) であり、マイクロサービスによって信頼されている必要があります。
Keycloak サーバーはベアラートークンを発行し、トークンが発行されたサブジェクトを表します。これは OAuth 2.0 認可サーバーであるため、トークンはユーザーに代わって動作するクライアントも参照します。
有効なトークンを持つすべてのユーザーは、/api/users/me
エンドポイントにアクセスできます。レスポンスとして、トークンの情報から取得したユーザーの詳細を含む JSON ドキュメントを返します。
/api/admin
エンドポイントは RBAC (ロールベースのアクセス制御) で保護されており、admin
ロールを持つユーザーのみがアクセスできます。このエンドポイントでは、@RolesAllowed
アノテーションを使用して、アクセス制約を宣言的に適用します。