Laravel - Какая польза от широковещания / аутентификации, когда мы можем аутентифицировать пользователя на канале? - PullRequest
0 голосов
/ 12 декабря 2018
class BroadcastServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Broadcast::routes();

        require base_path('routes/channels.php');
    }
}

Какая польза Broadcast::routes(), когда require base_path('routes/channels.php') аутентифицирует пользователя с этим кодом return (int) $user->user_id === (int) $userId; в routes/channels.php?

1 Ответ

0 голосов
/ 12 декабря 2018

К счастью, Laravel позволяет легко определять маршруты для ответа на запросы авторизации канала.В BroadcastServiceProvider, включенном в ваше приложение Laravel, вы увидите вызов метода Broadcast::routes.Этот метод зарегистрирует маршрут /broadcasting/auth для обработки запросов авторизации:

Broadcast::routes(); зарегистрирует необходимые базовые маршруты аутентификации.Поэтому, когда вы используете Laravel Echo (например), он отправит запрос аутентификации на /broadcasting/auth.

По умолчанию Echo будет использовать конечную точку /broadcasting/auth для авторизации доступа к каналу.Однако вы можете указать свою собственную конечную точку авторизации, передав опцию конфигурации authEndpoint своему экземпляру Echo:

window.Echo = new Echo({ broadcaster: 'pusher', key: 'your-pusher-key', authEndpoint: '/custom/endpoint/auth' });

Soure: https://laravel.com/docs/5.7/broadcasting#defining-authorization-routes

...