Skip to main content

Авторизация

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

Участники:

  • 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