Как узнать CallbackURL для yiisoft / yii2-authclient?

Для того чтобы узнать CallbackURL для yii2-authclient в Yii2, вам потребуется сделать следующее:

1. Установите пакет yiisoft/yii2-authclient через Composer, если он еще не установлен. Выполните команду в терминале:

composer require yiisoft/yii2-authclient

2. Подготовьте официальный OAuth-провайдер для работы с yii2-authclient. Примером такого провайдера может быть Google или Facebook.

3. Вам необходимо создать аккаунт разработчика на выбранном OAuth-провайдере. Зайдите в настройки вашего проекта на OAuth-провайдере и создайте новое приложение. В процессе создания приложения у вас должны попросить указать обязательные поля, включая CallbackURL.

4. В поле CallbackURL (или Redirect URI) напишите URL-адрес, который указывает на действие вашего контроллера, которое обработает ответ от OAuth-провайдера. Обычно это действие называется "callback" или "auth". Например, если ваш сайт развернут по адресу "https://example.com", и вы создали действие "auth" в контроллере "SiteController", то ваш CallbackURL будет выглядеть следующим образом: "https://example.com/site/auth".

5. После создания приложения на OAuth-провайдере, вы должны получить уникальные идентификаторы (Client ID) и секретные ключи (Client Secret), которые будут использоваться для аутентификации вашего приложения с провайдером. Эту информацию требуется указать при настройке yii2-authclient для работы с выбранным провайдером OAuth.

6. Вам потребуется настроить компонент authClientCollection в конфигурационном файле вашего приложения (app/config/web.php), чтобы Yii2 знал о провайдере OAuth и указал CallbackURL. Пример конфигурации:

'components' => [
    'authClientCollection' => [
        'class' => 'yiiauthclientCollection',
        'clients' => [
            'google' => [
                'class' => 'yiiauthclientclientsGoogle',
                'clientId' => 'your_google_client_id',
                'clientSecret' => 'your_google_client_secret',
                'returnUrl' => 'https://example.com/site/auth',
            ],
        ],
    ],
],

Обратите внимание, что в приведенном примере я использовал Google в качестве провайдера OAuth.

7. Теперь, когда все настройки указаны, вы можете создать ссылку на авторизацию через выбранный OAuth-провайдер в вашем представлении. Например, если вы хотите использовать Google в качестве провайдера, то ссылка на авторизацию может выглядеть следующим образом:

echo yiiauthclientwidgetsAuthChoice::widget([
    'baseAuthUrl' => ['site/auth'],
    'popupMode' => false,
]);

Обратите внимание, что baseAuthUrl должен указывать на ваш контроллер и действие, которое будет обрабатывать авторизацию через OAuth-провайдер.

Теперь, когда пользователь кликает на ссылку для авторизации через OAuth-провайдера, ваше приложение выполнит перенаправление на провайдера OAuth, который в свою очередь вернет обратно на ваш CallbackURL результат авторизации. Вы можете обработать этот результат в вашем действии "callback" или "auth" и выполнить необходимые операции для авторизации пользователя в вашем приложении на Yii2.