Безопасность
Что MAJACLOUD защищает за вас, а что остаётся вашей ответственностью.
Комментарии в коде и имена API оставлены на английском, чтобы совпадать с SDK.
Ключи#
- Клиентский ключ лишь идентифицирует проект; каждому эндпоинту игрока нужен ещё и собственный токен игрока.
- Секретные ключи хранятся в виде хешей SHA-256 и показываются один раз. Любой из ключей можно перевыпустить на странице «API-ключи»; перевыпуск клиентского ключа ломает сборки, которые всё ещё используют старый.
Никогда не добавляйте секретный ключ (
sk_live_…) в сборку игры или на веб-страницу. Всё, что попадает к игрокам, можно прочитать.Токены игроков#
- Токены доступа истекают через час и автоматически обновляются с помощью токена обновления, который меняется при каждом использовании.
- Повторное использование старого токена обновления отзывает эту сессию на всех устройствах.
HTTPS#
- API отклоняет обычный HTTP везде, кроме localhost, и отправляет HSTS по HTTPS.
Сервер как источник истины#
- Результаты, награды и кошельки проверяются на сервере, а данные клиента никогда не принимаются на веру.
- Всё, что может прочитать клиент, можно изучить. Храните секреты и критичную игровую логику на своём сервере и используйте секретный ключ.
Подписанная конфигурация#
- Удалённая конфигурация подписывается RSA-SHA256 и проверяется на устройстве перед использованием, поэтому прокси или изменённый сетевой ответ не смогут подменить ваши значения.
Данные игроков#
- В панели управления можно просмотреть и удалить любого игрока; при удалении проекта удаляются все его данные. IP-адреса в логах хранятся как хеши с ключом.