我如何在这里描述的频道上进行授权
Defining Authorization Callbacks
Broadcast::channel('order.{order}', function ($user, Order $order) {
return $user->id === $order->user_id;
});
有自定义守卫?
如果我使用标准版,它可以正常工作。如果我使用自定义后卫登录,它绝对不会起作用。
我这里有403例外(/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/Broadcaster.php)
/**
* Authenticate the incoming request for a given channel.
*
* @param \Illuminate\Http\Request $request
* @param string $channel
* @return mixed
*/
protected function verifyUserCanAccessChannel($request, $channel)
{
foreach ($this->channels as $pattern => $callback) {
if (! Str::is($pattern, $channel)) {
continue;
}
$parameters = $this->extractAuthParameters($pattern, $channel);
if ($result = $callback($request->user(), ...$parameters)) {
return $this->validAuthenticationResponse($request, $result);
}
}
throw new HttpException(403);
}
因为我在$ request-> user()中使用自定义保护(
)oK,我将其更改为$ request-> user(' my_custom_guard')
现在它起作用了。但它不能与标准用户合作。
有什么想法吗?