このリポジトリは、様々なセキュリティ実装を試すための遊び場です。
- Docker / Docker Compose
- Node.js
このアプリは http://localhost:8080 の Keycloak(realm: demo / client: vue-demo)に依存します(src/lib/oidc/config.ts)。先に Keycloak を起動してください。
docker compose up -dkeycloak/import/の realm 定義が--import-realmで読み込まれ、realmdemo・clientvue-demo・ユーザーtestが作成されます。- 初回は Postgres の初期化と realm インポートで 30〜60 秒ほどかかります。
docker compose logs -f keycloakにRunning the server in development modeが出れば準備完了です。 - 管理コンソール: http://localhost:8080/admin (admin / admin)
npm installnpm run devブラウザで http://localhost:5173 を開きます。
注意: ポート 5173 は固定です。
vue-demoのredirectUris/webOriginsとconfig.tsのredirectUriがhttp://localhost:5173決め打ちのため、5173 が使用中で Vite が 5174 にフォールバックすると Keycloak がinvalid redirect_uriを返して失敗します。
docker compose downkeycloak/import/demo-realm.json を編集しただけでは反映されません。
--import-realm は「同名 realm が既に DB に存在する場合、import をスキップする」ためです。
本構成は Postgres を postgres_data ボリュームで永続化しているので、必ずボリュームごと破棄します。
docker compose down -v # postgres_data ごと削除
docker compose up -d # demo-realm.json が再 import されるdocker compose restart や down(-v なし)では反映されません。
Keycloak のログインページにリダイレクトされた際は、以下の認証情報を使用してください:
- ユーザー名:
test - パスワード:
test