# VK

# Стартовая информация

[API](https://dev.vk.com/ru/api/api-requests)

Сервисный ключ предоставляет доступ к группам. Если лимиты на количество запросов (3 в секунду)

Доступ к группам:

В комментариях поста отдается все, включая комментарии комментариев.

# Авторизация

**Общая схема взаимодействия**

Участники:

- VK Mini App (frontend)
- VK (как источник авторизации)
- backend (FastAPI)

Поток:

```
[Frontend (VK Mini App)] → получает launch params от VK, отправляет их на backend
        ↓
[Backend] → проверяет подпись VK, верно - переданный от frontend vk_user_id корректен
        ↓
[Backend] → сохраняет / читает данные из БД
```

Параметры, передаваемые в запросе:

vk\_app\_id, vk\_are\_notifications\_enabled, vk\_is\_app\_user, vk\_is\_favorite, vk\_language, vk\_platform, vk\_ref, vk\_ts, vk\_user\_id

JS:

```
async function auth() {
  try {
    const launchParams = await vkBridge.send('VKWebAppGetLaunchParams');
    console.log('LAUNCH PARAMS:', launchParams);
  } catch (e) {
    console.error('VK AUTH ERROR:', e);
  }
}

async function startApp() {
  await vkBridge.send('VKWebAppInit');
  await auth();
  requestAnimationFrame(loop);
}

startApp();
```

В переменной LaunchParams будут содержаться параметры для запроса на back