Я застрял в точке, где я хочу объединить области OAUTH2 с системой управления доступом на основе ролей (RBA C) .
Почему?
Я создаю приложения без статуса Laravel, которые будут авторизованы с использованием Laravel Паспорта. То, как люди авторизуются, использует API и использует области видимости.
Но поскольку приложение содержит интерфейс для управления ролями, прошедшие проверку пользователи могут назначать разрешения для пользовательских ролей. Теперь разрешения должны быть равны областям, которые я предполагаю, в противном случае области, заданные для запроса, не имеют никакого смысла (если я прав).
То, что я хочу
У меня есть фиксированный набор разрешений (users:read
users:edit
users:delete
, et c.). Эти разрешения могут быть назначены ролям, которые создаются пользователями.
Как связать эти разрешения с имеющимся у меня набором областей (нужно ли заново создавать фиксированные области или я могу использовать существующие разрешения)?
Должен ли я использовать промежуточное программное обеспечение в моих маршрутах API или создавать политики? И можно ли просто получить разрешения из базы данных для отправки в виде областей? Мне нужна лучшая практика для этого вопроса. Может быть, комментарий к стеку потока является решением, но не уверен, что это выполнимо.
Ресурсы - Laravel Области паспорта - https://laravel-json-api.readthedocs.io/en/latest/basics/security/
Инструменты, которые я использую - Laravel Паспорт - Laravel JSON API - Spat ie Разрешения
Если какая-либо информация отсутствует, пожалуйста, дайте мне знать. Надеюсь, у кого-то есть предложения по этой «проблеме».