Авторизация
Общая схема взаимодействия
Участники:
- 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