Как правильно организовать работу с юзером в REST API?

Есть самописный API, вот пример, как организованы урлы:
GET /api/products
PUT /api/products/1

То есть имеются контроллеры (ProductController.php для примера выше) и в этих контроллерах четыре метода get, post, put, delete.
1. Правильный ли это подход?
2. И если правильный, то как организовать авторизацию/регистрацию пользователя, потому что по сути и там, и там идет POST метод?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 3
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Контроллер должен отдавать 401 или 403 статусы, а вы на клиенте должны их обрабатывать.
Ответ написан
Комментировать
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Использовать bearer token. В качестве типа аутентификации принято использовать OpenID Connect. А с адресами и методами все вроде по канону по REST
Ответ написан
Комментировать
@SirotaKazansky
System Analyst
Я думаю не обязательно управлять доступом на уровне доступа к HTTP методам. У Вас есть контроллер, который может определить можно ли пользователю делать конкретное действие, на основе сертификатов, токенов, чего-либо еще.

Правильный ли это подход или нет, зависит от двух вещей как минимум - отражает ли он адекватно модель данных, можно ли этим пользоваться конечному пользователю без ущерба для психики. Например не надо сначала собрать кучу данных, чтобы получить доступ к сущности.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы