laravel - Laravel echo:频道授权
问题描述
来自广播文档
Broadcast::channel('order.{orderId}', function ($user, $orderId) {
return $user->id === Order::findOrNew($orderId)->user_id;
});
所有授权回调都接收当前经过身份验证的用户作为其第一个参数,并将任何其他通配符参数作为其后续参数。在此示例中,我们使用
{orderId}
占位符来指示频道名称的“ID”部分是通配符。
这句话All authorization callbacks receive the currently authenticated user as their first argument
适用于网络广播,如果我们为移动应用程序构建广播并且来自移动应用程序的用户想要订阅频道怎么办?那么这将user
不再存在。
我们如何授权来自移动应用程序的用户?
解决方案
找到了。服务器和客户端使用的协议必须相同。尽管 Laravel Echo 使用 Socket.io,但在 android 应用程序上安装 Socket.io 是行不通的。我必须在 android 上安装LaravelEchoAndroid包并使用 Bearer 令牌作为身份验证。
提示:这个包有一个编译错误,通过改变 maven 它将工作。
推荐阅读
- bash - Colab 中的“!exec $SHELL”请求内容
- r - 如何使用预定义的类间隔对列进行分类并在 R 中对新列进行排名?
- wix - 简单的 WIX 安装程序只是应对文件不起作用,出了什么问题?
- git - 如何使用“git clone”创建共享仓库?
- jquery - jQuery仅向一个元素添加类
- azure - 有关受保护项目 PowerShell 的 ASR 复制存储帐户详细信息
- html - 如何将 Excel 工作表的格式和全范围转换为 HTML 电子邮件正文?
- containers - 是否可以使用 ctr 命令运行带有端口转发的容器?
- angular - 如何使用硒单击角度应用程序按钮
- java - Java Swing 自定义滑块图像