Один контроллер для авторизованных и не авторизованных пользователей?

Всё что касается построения API
Закрыто
user
Сообщения: 154
Зарегистрирован: 2017.12.05, 16:55

Один контроллер для авторизованных и не авторизованных пользователей?

Сообщение user »

Есть некий контроллер, нужно, чтобы она был доступен и авторизованным и не авторизованным пользователя?
Как разделить логику?
Сделать его общедоступным, и сделать чтение заголовка с токеном и по нему создать identity?
Не совсем понятна реализация :(

Аватара пользователя
Tonni_regoletti
Сообщения: 49
Зарегистрирован: 2019.10.11, 09:16

Re: Один контроллер для авторизованных и не авторизованных пользователей?

Сообщение Tonni_regoletti »

Наверное, можно выполнять проверку в beforeAction. И в зависимости от пользователя заполнять флаг, по которому будет понятно авторизован он или нет

Аватара пользователя
ElisDN
Сообщения: 5530
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Один контроллер для авторизованных и не авторизованных пользователей?

Сообщение ElisDN »

Либо if (!Yii::$app->user->isGuest()) { ... } else { ... } в одном экшене, либо сделать два разных экшена.

user
Сообщения: 154
Зарегистрирован: 2017.12.05, 16:55

Re: Один контроллер для авторизованных и не авторизованных пользователей?

Сообщение user »

я имел в контексте REST API не точно вопрос сформулировал там авторизация через Bearer Token

Аватара пользователя
ElisDN
Сообщения: 5530
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Один контроллер для авторизованных и не авторизованных пользователей?

Сообщение ElisDN »

Без разницы. Yii::$app->user работает и с HttpBearerAuth.

user
Сообщения: 154
Зарегистрирован: 2017.12.05, 16:55

Re: Один контроллер для авторизованных и не авторизованных пользователей?

Сообщение user »

ElisDN писал(а):
2020.03.13, 23:26
Без разницы. Yii::$app->user работает и с HttpBearerAuth.
Как если токена не будет, то вылетит 401 ошибка?


user
Сообщения: 154
Зарегистрирован: 2017.12.05, 16:55

Re: Один контроллер для авторизованных и не авторизованных пользователей?

Сообщение user »

ElisDN писал(а):
2020.03.14, 00:49
Если укажете ему optional, то не вылетит.
Дмитрий, елси подскажите, как сделать буду благодарен


Закрыто