dilikpulatov
@dilikpulatov
веб-программист

Как задать свой identity class для каждого модуля в Yii2?

Добрый день
У меня есть два RestAPI модуля api1, api2
и у каждого есть свой модель авторизации.
Как сделать так чтобы при запросе к апи каждый модул использовал свой модел авторизации чтобы найти пользователя по токену?
  • Вопрос задан
  • 413 просмотров
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Странный вы. Зачем вам такой огород?

  1. Если у вас 2 разных api и вы с ними не взаимодействуете по общим авторизационным данным - разделяйте их на 2 приложения.

  2. Если у вас 2 разных api использующие общие авторизационные данные - делайте либо их папками в одном приложении, либо два разных с межсайтовой авторизацией.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kimono
@kimono
Web developer
Аналогично тому, как вы делаете это в основном приложении:
'user' => [
    'identityClass' => 'common\models\User',
    'loginUrl' => '/site/login',
    'identityCookie' => [
        'name' => '_identity-frontend',
    ],
],


Т.е. примерно так:
'modules' => [
    'api1' => [
        'class' => 'api\modules\Api1',
        'components' => [
             'user' => [
                'identityClass' => 'common\models\Api1User',
                'loginUrl' => '/site/login',
                'identityCookie' => [
                    'name' => '_identity-api1',
                ],
            ],
        ]
    ],
    'api2' => [
        'class' => 'api\modules\Api2',
        'components' => [
             'user' => [
                'identityClass' => 'common\models\Api2User',
                'loginUrl' => '/site/login',
                'identityCookie' => [
                    'name' => '_identity-api2',
                ],
            ],
        ]
    ],
]
Ответ написан
Ваш ответ на вопрос

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

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