Прежде всего, я всего лишь студент, поэтому, пожалуйста, будьте осторожны со мной. Я создаю свой первый API для Craft Cms и Commerce для приложения Android. Я сделал следующие шаги: я создал плагин и создал контроллеры для обработки запросов к API. У меня есть контроллеры для пользователей, продуктов, корзины и т. Д. Мне просто нужна помощь с парой вещей.
Я искал лучший способ создания API, и люди предложили рассматривать его как плагин и просто создавать его как плагин. Это правильный способ сделать это?
Безопасность. Я действительно обеспокоен безопасностью моего API, так как не уверен, правильно ли я сделал то, что сделал. Я искал методы для его защиты и то, что я сделал, это то, что если есть какие-либо запросы POST, пользователь должен войти в систему и получить токен доступа, чтобы иметь возможность получать свои данные, такие как данные его учетной записи и его корзина. Если приходит запрос POST, я проверяю, есть ли у пользователя токен доступа, и что он является тем, кто его создал (конечно, проверяя и данные, которые я получил). Я точно знаю, что этого недостаточно. Я просто потерян из-за огромного количества постов и страниц, которые я прочитал об этом, и я не мог сделать полную картину этого, поскольку каждый человек предлагал что-то свое. Многие предложили реализовать метод открытых / закрытых ключей, так что я должен делать как это?
Повторное использование. Прямо сейчас, если я получаю почтовый запрос, я создаю объект объекта контроллера Craft и позволяю ему обрабатывать запрос. Как и при обновлении корзины, я просто создаю объект контроллера корзины Craft и просто вызываю его метод обновления. Конечно, я могу реализовать то же самое, и я не ленись или что-то еще, но я не думаю, что это правильно, чтобы реализовать функцию, которая уже существует. Я не добавляю ничего особенного к данным, которые я получаю ни от API, ни от самой платформы. Конечно, я уверен, что получил действительные данные, но я делаю это правильно или я просто ленивый?
так что в основном это мои проблемы. Я просто студент, который пытается учиться. Я никогда не создавал API, поэтому, если есть какие-то предложения для учебных пособий, я мог бы следовать, чтобы убедиться, что мой API хорошо закодирован, или кто-то может просто направить меня к правильному пути, который будет огромной помощью.
Задача ещё не решена.
Других решений пока нет …