[BACK-AUTH-05] Реализация эндпоинта валидации B2B-токенов для внешних магазинов
Микросервис Авторизации (AuthService)
NoteКраткая карточка задачи
- Репозиторий / Компонент:
auth_service(Go). - Стек: Go, PostgreSQL (Таблица магазинов / Токенов).
- Тип задачи: Backend (API & Доступ).
- Статус: Готово к реализации
Описание задачи
В рамках отказа от захардкоженных токенов для B2B-интеграций (партнерских магазинов), необходимо реализовать внутренний эндпоинт (gRPC/HTTP), который будет вызываться сервисом процессов для проверки валидности токена конкретного магазина.
Инструкция по шагам
- Проектирование схемы данных B2B (Миграция): Создать (или расширить) таблицу
b2b_partners / storesв БД авторизации со следующими полями:store_id(UUID / INT) — уникальный идентификатор магазина.b2b_token(VARCHAR, Indexed) — хэшированный или строгий токен доступа.status(VARCHAR:ACTIVE,SUSPENDED).
- Создание эндпоинта проверки: Реализовать метод
POST /v1/auth/b2b/validate(или gRPC-методValidateStoreToken). - Разработка логики валидации:
- На вход принимается
b2b_token. - Выполняется запрос к БД. Если токен не найден, возвращать статус
401 Unauthorized/ gRPCUNAUTHENTICATED. - Если статус магазина равен
SUSPENDED(заблокирован), возвращать ошибкуSTORE_BLOCKED. - Если магазин активен (
ACTIVE), возвращать200 OKи структуру с метаданными:{"store_id": 105, "store_name": "Пятёрочка"}.
- На вход принимается