Как правильно организовать доступ по API в своём приложении?
Добрый день. У нашего предприятия есть одно ПО, в котором мы храним некие данные о сотрудниках (что и как это не важно). Связь с разработчиками давно потеряна и старый функционал не устраивает, да и убого выглядит.
Взяв инициативу в кулак (шучу, просто "загасился" от основной работы... тоже не важно из-за чего) было принято решение написать ПО мне и моему хорошему другу/коллеги.
Берём следующий стек:
Laravel + Laravel Passport - Для Backend API
ElectronJS + VueJS - для Frontend.
Самая проблема заключается в том, что я толком не работал с Laravel Passport да и с API в целом. И не знаю что и какой вариант авторизации использовать. Как я понял в Passport есть несколько видов авторизации.
У нас будет регистрация, в котором пользователь регистрируется и за определённый рублик покупает доступ с определёнными правами (только просматривать, + с возможностью редактировать, дополнять и т.п.), т.е. со множествами правами в разных "тарифах". Надеюсь поняли...
Вот тут и застаёт меня вопрос: какой метод авторизации лучше подходит под мою задачу (по логину и паролю, по токену и т.п.) и как лучше прописать права?
PS: Программа будет одна на всех, но у каждого пользователя/программы будет уникальный логин и пароль с определёнными правами. Они будут получать данные с одного API сервера.
PS: Прошу не писать "зачем тебе это", "сделай что попроще", "зачем платить за доступ" и т.п. Так просто надо.
Права - это к ACL, authorization в laravel. Берите bouncer (пакет) для этого, и используйте. Отдавайте список пермишенов на фронт, что бы тот знал, что можно отображать а что нет.