У меня есть restfull API, созданный с помощью Slim3 с аутентификацией JWT.
Я начал изучать Laravel и увидел, что в нем есть много интересных функций, которые упрощают создание API.
Итак, я оцениваю возможность переключения фреймворка с Slim на Laravel в следующей версии API.
Итак, я хотел бы уточнить у самых опытных, есть ли какой-либо инструмент в Laravel который отвечает всем требованиям, которые у меня есть в API.
Ниже я описываю операцию.
В дополнение к ресурсам, которые будут потребляться (ПРОДУКТЫ, ФИНАНСОВЫЕ, АКЦИИ и т. д. c. ) У меня есть в API таблицы КОМПАНИИ, ПОЛЬЗОВАТЕЛИ и РАЗРЕШЕНИЯ.
При регистрации нового пользователя он все равно не получит доступа к каким-либо ресурсам, кроме его собственной регистрации. Таким образом, пользователь запрашивает разрешение, которое создает строку в таблице PERMISSOES с неактивным статусом, как показано ниже:
PERMISSION_ID COMPANY_ID USER_ID RESOURCE GET POST PUT DELETE ACTIVE
1 1 1 FINANCIAL 1 1 0 0 0
Это запрошенное разрешение, когда оно активно, предоставит доступ к ФИНАНСОВОМУ ресурсу с COMPANY_ID 1, чтобы методы GET и POST для USER_ID 1.
Разрешение будет неактивным до тех пор, пока пользователь ADMIN из этой компании не изменит статус PERMISSION на активный.
Таким образом, после входа пользователя в систему и API возвращает JWT, который должен отправляться как заголовок во всех запросах. Каждый раз, когда пользователь отправляет запрос, например, на ФИНАНСОВЫЙ маршрут, я делаю запрос в таблице PERMISSOES и проверяю, разрешено ли пользователю выполнять этот ресурс с помощью этого метода и для этой компании. Если разрешено, доступ предоставляется, а если он не разрешен, вернуть ошибку 401.
Я хотел бы реализовать этот лог c в Laravel, есть ли какой-либо ресурс, который облегчает разработку, или мне придется делать все вручную, как я делал в Slim?
Если неясно, что мне нужно, дайте мне знать, что я меняю вопрос.
Любая помощь приветствуется.
Это может быть учебник, видео, подсказка, серьезно, что угодно.
Заранее благодарю вас всех.