Как настроить REST авторизацию для AngulagJS и Yii2?

Начал разрабатывать приложение. Бэкенд на Yii2, фронт энд с использованием angularjs. Так как только начала разбираться с этими фреймворками, то не особо понимаю какие нормальные решения уже есть. Примеров как использовать REST целая куча и все однотипны, а вот примеры авторизации мало и у каждого свой подход. Вот тут бы хотелось понять есть ли более менее стандартные решения, как со стороны фронта так и со стороны бэка?
И еще возник вопрос по поводу прав доступа, на стороне бэка просто - у пользователя будут права на определенные запросы. А вот какие есть стандартные методы работы с правами/ролями пользователя на фроненде? Основное не понимание как на фронте управлять видимостью различных областей. В какую сторону тут копать?
  • Вопрос задан
  • 1442 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
и у каждого свой подход

Пожалуй это ключевая фраза. У каждого на самом деле свой подход. Кто-то делает авторизацию исключительно через Yii и потом аунтентификация проходит тупо по кукам, кто-то использует токены, кто-то JWT. Подходов масса.

Основное не понимание как на фронте управлять видимостью различных областей.

У пользователя есть права. Это либо роль, либо список действий которые он может совершать. Словом все примерно как и на бэкэнде. Далее вы можете условия в шаблонах ставить или еще как. Для ангуляра есть несколько подходов организации ACL. В том числе готовых тоже много.

В какую сторону тут копать?

Фронтэнд не сильно отличается от бэкэнда. Вспомните как вы делали приложеньки с обычными формачками и т.д. Вот тоже самое, только теперь у вас нет "перезагрузки", то есть приложение живет пока открыта вкладка. Ну и в качестве базы данных у нас HTTP API какое-то. Вот и вся разница.

Архитектура же приложения примерно такая же. Разве что есть нюансы. UI нужно дробить на независимые маленькие компоненты, желательно не имеющие своего состояния и пробрасывать им оное сверху. Ну и все такое.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vGrabko99
html, css, js, php, golang, mysql
не надо yii для реста!! юзай композер + нужные либы.
а авторизация проста. Серверу шлём логин/пасс и получаем jwt

ну а я бы посоветовал oauth server https://github.com/willdurand/BazingaOAuthServerBu...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы