Skip to main content

Авторизация

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

Участники:

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

Поток:

[Frontend (VK Mini App]App)] → получает launch params от VK
        ↓
[Frontend] →VK, отправляет их на backend
        ↓
[FastAPI]Backend] → проверяет подпись VKVK, (самыйверно важный- шаг)переданный от [Backend]frontend vk_user_id понимает кто пользователь (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