🚀 [DX/Infra] Настройка локального Keycloak и Token Exchange для Google IdP
📌 Контекст и Проблема
Наше приложение использует Keycloak для аутентификации пользователей и вызова exchange_token_for_idp(..., requested_issuer="google") для получения токенов Google API.
Для автономной локальной разработки контрибьюторам нужен преднастроенный контейнер Keycloak с готовым Realm'ом, тестовыми пользователями и эмуляцией Identity Provider (Google), чтобы Token Exchange работал «из коробки» без подключения к реальной консоли Google Cloud.
🎯 Цель
Развернуть локальный контейнер Keycloak в docker-compose.yml с автоматическим импортом конфигурации (Realm Export), поднять тестовых пользователей и обеспечить локальную работу Token Exchange.
🛠 Список задач (To-Do)
1. Конфигурация Realm (Keycloak)
2. Инфраструктура (Docker Compose)
🚀 [DX/Infra] Настройка локального Keycloak и Token Exchange для Google IdP
📌 Контекст и Проблема
Наше приложение использует Keycloak для аутентификации пользователей и вызова
exchange_token_for_idp(..., requested_issuer="google")для получения токенов Google API.Для автономной локальной разработки контрибьюторам нужен преднастроенный контейнер Keycloak с готовым Realm'ом, тестовыми пользователями и эмуляцией Identity Provider (Google), чтобы Token Exchange работал «из коробки» без подключения к реальной консоли Google Cloud.
🎯 Цель
Развернуть локальный контейнер Keycloak в
docker-compose.ymlс автоматическим импортом конфигурации (Realm Export), поднять тестовых пользователей и обеспечить локальную работу Token Exchange.🛠 Список задач (To-Do)
1. Конфигурация Realm (Keycloak)
infra/mocks/keycloak/realm-export.jsonсо следующей базовой конфигурацией:nuros-devnuros-backend(с включенной фичей Token Exchange / Fine-Grained Permissions)test_user/password123google(или его эмуляцию черезmock-oauth2-server/ stub-секреты).2. Инфраструктура (Docker Compose)
docker-compose.yml: