[CL-ADMIN-GOOGLE-LOGIN] auth: вернуть admin-вход через Google OAuth #964

Closed
andrei wants to merge 1 commit from feature/claude-google-admin-login into master
Owner

Что сделано

Восстановлен вход админа через Google OAuth — убран блок ADMIN_LOGIN_REQUIRED в googleAuth.

Зачем

CEO: вернуть admin-вход через Google как раньше. Блок C2-02 запирал админов вне обычного sign-in.

Безопасность

Google-вход только аутентифицирует (сессия). Привилегии по-прежнему за admin-secret (AdminGuard на /admin) + requireAdminSecretVerified на sensitive admin-роутах. Соц-вход admin-власти не даёт. Аналог ADMIN-LOGIN-UNBLOCK-2026-06-09 для пароля.

План тестирования

TDD: admin login via Google RED->GREEN (throw -> успешный вход, createSessionWithLimit с ADMIN). 60/60 auth-oauth green, tsc clean, eslint 0.

Где могу ошибиться

  • Apple/Wallet/Passkey/Telegram блок сохранён (CEO просил только Google) — намеренно.
  • Если политика требует admin через все соц-входы или наоборот жёстче — скажи, доправлю.
## Что сделано Восстановлен вход админа через Google OAuth — убран блок `ADMIN_LOGIN_REQUIRED` в `googleAuth`. ## Зачем CEO: вернуть admin-вход через Google как раньше. Блок C2-02 запирал админов вне обычного sign-in. ## Безопасность Google-вход только аутентифицирует (сессия). Привилегии по-прежнему за admin-secret (AdminGuard на `/admin`) + `requireAdminSecretVerified` на sensitive admin-роутах. Соц-вход admin-власти не даёт. Аналог ADMIN-LOGIN-UNBLOCK-2026-06-09 для пароля. ## План тестирования TDD: `admin login via Google` RED->GREEN (throw -> успешный вход, createSessionWithLimit с ADMIN). 60/60 auth-oauth green, tsc clean, eslint 0. ## Где могу ошибиться - Apple/Wallet/Passkey/Telegram блок сохранён (CEO просил только Google) — намеренно. - Если политика требует admin через все соц-входы или наоборот жёстче — скажи, доправлю.
[CL-ADMIN-GOOGLE-LOGIN] auth: вернуть admin-вход через Google OAuth
All checks were successful
CI / Telegram Mini App (pull_request) Successful in 2m0s
CI / Contracts (pull_request) Successful in 2m42s
CI / Python SDK (pull_request) Successful in 41s
CI / Secrets Scan (pull_request) Successful in 15s
PR Janitor / janitor (pull_request) Successful in 10s
CI / Prisma Migrate Gate (pull_request) Successful in 1m43s
CI / API (pull_request) Successful in 16m58s
CI / App (pull_request) Successful in 17m18s
1c70635809
CEO 2026-07-01: восстановлен вход админа через Google (блок C2-02 запирал
админов вне обычного sign-in). Убран throw ADMIN_LOGIN_REQUIRED в googleAuth
для role=ADMIN.

Безопасность сохранена: Google-вход только аутентифицирует (создаёт сессию);
привилегированный доступ по-прежнему за admin-secret вторым фактором
(AdminGuard на /admin) + requireAdminSecretVerified на sensitive admin-роутах.
Соц-вход сам по себе admin-власти не даёт. Та же логика что
ADMIN-LOGIN-UNBLOCK-2026-06-09 для password-входа.

Тест: 'admin login via Google' RED→GREEN (был assert throw → стал assert
успешный вход, createSessionWithLimit вызван с ADMIN). 60/60 auth-oauth green,
tsc clean, eslint 0.

Прочие соц-входы (Apple/Wallet/Passkey/Telegram) блок сохраняют — CEO просил
только Google.

⚠️ Конфликт с master — ветку нужно перебазировать вручную. Изменения в master перекрыли затронутые строки.

<!-- janitor-conflict --> ⚠️ Конфликт с master — ветку нужно перебазировать вручную. Изменения в master перекрыли затронутые строки.
andrei closed this pull request 2026-07-01 15:14:05 +00:00
All checks were successful
CI / Telegram Mini App (pull_request) Successful in 2m0s
CI / Contracts (pull_request) Successful in 2m42s
CI / Python SDK (pull_request) Successful in 41s
CI / Secrets Scan (pull_request) Successful in 15s
PR Janitor / janitor (pull_request) Successful in 10s
CI / Prisma Migrate Gate (pull_request) Successful in 1m43s
CI / API (pull_request) Successful in 16m58s
CI / App (pull_request) Successful in 17m18s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
europa-tech-srl/europatech!964
No description provided.