1. Ребята из золотого агентства Bubble - Tinsko, любезно предоставляют сервис для проверки своего приложения. Для этого, однако, потребуется не домен сайта, а ID приложения внутри Bubble. Откуда же нам его взять? Правильно - все из того же файла, он располагается прямо в самом начале API спецификации в параметр “title”.
2. Используем найденный ID (betterlegal) и получаем результат. У нас, как на ладони, лежат все доступные страницы, таблицы, workflows, option sets, плагины и даже API ключи в скрытом виде. Отсюда удобно быстро проверять в каких таблицах имеются данные, находить скрытые страницы (к примеру /test - никогда не забывайте закрывать страницу, на которой вы тестируете функционал), а также увидеть какие из workflows открыты. (открытые workflows имеют пустой параметр "security": [] в спецификации)
3. И так - мы нашли 4 открытых workflows. Так как у нас есть доступ к таблице Affiliate, мы выберем workflow affiliate-create-user. По названию workflow мы можем найти описание структуры запроса в конце спецификации. Из описания следует, что в запросе должен быть указать параметр affiliate, который является ничем иным как unique ID записи таблицы Affiliate.
4. Составляем запрос.
- URL запроса - https://app2.betterlegal.com/api/1.1/wf/affiliate-create-user
- метод POST (из спецификации - “description": "Body of the POST request")
- для JSON Body мы возьмем unique ID случайной записи из Affiliate - {"affiliate":"1643829228111x996033319926247400”}
Не забудьте указать в Headers Content-Type=application/json.
5. Отправляем запрос и получаем ответ "status": "success”. Ура 🥳 Возможно, мы только что создали проблем для разработчика, которому придется разбираться с очередным странным поведением системы, как будто у него нет других забот. Ай-я-яй…
Лирическое отступление - данную фичу(
По моему личному опыту большинство команд не успевают следить за всеми деталями, люди в командах то и дело меняются и в приоритете находятся совсем другие задачи. Отсутствие настроек приватности может указывать на использование этих данных в каких-либо запросах внутри Bubble или извне. Из-за неэффективного построении БД или воркфлоус вы можете оказаться заложником такой ситуации и ее исправление (закрытие данных от публики) может стать очень трудозатратным в будущем.
Чтобы избежать такой ситуации, сверьтесь с чеклистом Tinsko и стройте приложения с учетом будущего роста.
Хотите узнать как улучшить производительность и безопасность Bubble приложения?
Ставьте лайк и подписывайтесь - совсем скоро я опубликую 5 советов по улучшению безопасности вашего Bubble приложения.
P.S. камон, не все так страшно, просто поставьте галочку Hide Swagger API documentation access в Settings - API 😐