[BACK-AUTH-05] Реализация эндпоинта валидации B2B-токенов для внешних магазинов

Микросервис Авторизации (AuthService)

Published

October 14, 2026

NoteКраткая карточка задачи
  • Репозиторий / Компонент: auth_service (Go).
  • Стек: Go, PostgreSQL (Таблица магазинов / Токенов).
  • Тип задачи: Backend (API & Доступ).
  • Статус: Готово к реализации

Описание задачи

В рамках отказа от захардкоженных токенов для B2B-интеграций (партнерских магазинов), необходимо реализовать внутренний эндпоинт (gRPC/HTTP), который будет вызываться сервисом процессов для проверки валидности токена конкретного магазина.

Инструкция по шагам

  1. Проектирование схемы данных B2B (Миграция): Создать (или расширить) таблицу b2b_partners / stores в БД авторизации со следующими полями:
    • store_id (UUID / INT) — уникальный идентификатор магазина.
    • b2b_token (VARCHAR, Indexed) — хэшированный или строгий токен доступа.
    • status (VARCHAR: ACTIVE, SUSPENDED).
  2. Создание эндпоинта проверки: Реализовать метод POST /v1/auth/b2b/validate (или gRPC-метод ValidateStoreToken).
  3. Разработка логики валидации:
    • На вход принимается b2b_token.
    • Выполняется запрос к БД. Если токен не найден, возвращать статус 401 Unauthorized / gRPC UNAUTHENTICATED.
    • Если статус магазина равен SUSPENDED (заблокирован), возвращать ошибку STORE_BLOCKED.
    • Если магазин активен (ACTIVE), возвращать 200 OK и структуру с метаданными: {"store_id": 105, "store_name": "Пятёрочка"}.