Встройка авторизации VK Play обеспечивает защиту игре (подробнее об интеграции). Требует наличия игрового сервера.
VK Play предоставляет отдельный сервис GAS (Game Authorization Service), который за один запрос:
- Проверяет валидность hash (sz_token).
- Возвращает статус пользователя, включая факт оплаты игры.
Ваш игровой сервер делает GET-запрос к GAS:
GET https://vkplay.ru/app/47591/gas?uid={pers_id}&hash={token}&ip={user_ip}&sign={signature}
GAS возвращает JSON.
В случае ошибки вы получаете поле errmsg.
Для премиум игр самый важный код 50 — gas_no_payment (пользователь не купил игру — доступ запрещён).
Если пользователь купил игру, вы получите просто: { "status": "ok" }
Другие возможные ошибки, которые вам нужно обрабатывать :
- errcode: 0, errmsg: "gas_invalid_sign" — неверная подпись
- errcode: 10, errmsg: "gas_otp_error" — неверный hash/токен
- errcode: 40 — пользователь забанен на платформе
Запрос в GAS нужно делать на сервере игры. И в клиенте игры анализировать ответ проверки сервера.