core/identity (Customer/ExternalIdentity/ContactChannel models + VkIdGateway/ token/mock) and a standalone VkIdLoginComponent, per Sprint 0.1's "VK ID first" decision and v3.1 §14. Against docs/backend/PHASE-8-IDENTITY-MESSAGING-CONTRACT.md §1-2. Deliberately not wired into TelegramLoginComponent's dialog - that's the live, working QR-login surface for both customer and admin auth (components/telegram-login/), and splicing a second provider into it needs a real VK OAuth app to test against, not a mock bolt-on next to nine other phases. The button is a standalone, ready-to-place component; integrating it into checkout/login flows is follow-up work once VK credentials exist. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
173 B
173 B