#laravel #axios #console.log #jqxhr #laravel-broadcast
#ларавель #аксиос #консоль.журнал #jqxhr #laravel-трансляция
Вопрос:
Если я настрою свой канал таким образом, я получу ошибку консоли 403.
примечание:: if ($user->status) не является reg.
Broadcast::channel('using', function ($user) {
if($user->status=='reg'){
return $user->id;
}
});
Если я настрою свой канал таким образом, все в порядке.
Broadcast::channel('using', function ($user) {
if($user->status=='reg'){
return $user->id;
}else{
return 'invalid';
}
});
Но мне нужно настроить свой канал, когда $user->status не является reg, я не хочу давать никакой отдачи.
Проблема в том, что если я не даю никакого возврата, я получаю ошибку консоли 403.
Извините за мое знание английского
Ответ №1:
Данные, возвращенные обратным вызовом авторизации, будут доступны для прослушивателей событий канала присутствия в вашем приложении JavaScript. Если пользователь не авторизован для подключения к каналу присутствия, вы должны вернуть false или null:
https://laravel.com/docs/8.x/broadcasting#authorizing-presence-channels
Для $user->status
isn’t reg вам не нужно возвращать полезную нагрузку данных. Вы только возвращаете false
или null
.
Комментарии:
1. Если я возвращаю false или null, я получаю ошибку консоли 403 от серверной части. Поскольку пользователь уже вошел в систему, но статус не получил разрешение. Поэтому я не хочу давать никакого повторного запуска. Теперь я использовал
$user->status
не «редж», а «я звонюdie()
«.