php - Laravel 广播认证被禁止
问题描述
我正在使用 Laravel 构建消息传递系统,这就是我使用事件广播的原因,我也使用护照进行身份验证。
我通过设置中间件 auth:api 更改了BroadcastServiceProvider
boot()
方法我还在我的邮递员发布请求中添加了 Authorization : Bearer mytoken 。
public function boot()
{
Broadcast::routes(['middleware' => ['auth:api']]);
require base_path('routes/channels.php');
}
我的问题是当我想尝试进行身份验证时,myhost//broadcasting/auth
我得到了这个响应:
403 禁止
解决方案
除了它似乎在 Postman 中不起作用之外,这并不是一个真正的答案。无论我如何配置请求,它仍然返回 403。但是使用 Laravel 引导 JS 甚至是带有 Echo 或 Pusher-js 的外部文件,它都可以工作。
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
encrypted: true,
auth: {
headers: {
'Authorization': 'Bearer ' + jwt
},
},
});
推荐阅读
- odoo - Odoo - odoo 配置文件中的 xmlrc_port 和 http_port 参数有什么区别?
- c++ - 如何将 CLI 类的函数指针作为参数传递给 C++ 方法
- ruby-on-rails - gem安装权限问题
- javascript - 无法将 javascript 链接到 html 文件?
- reactjs - 将 Material UI react-autosuggest 功能转换为基于类组件
- cmd - Bazel genrule 检查位置表达式是否扩展为无文件
- c - 通过 C API 访问 tensorflow 2.0 SavedModel 的输入和输出张量
- machine-learning - 在 scikit-learn 中使用 OneVsRest 分类时,每个分类器的负数据点集是多少?
- android - 打开应用程序时是否可以删除白屏?
- react-native - 在 React -native 的 native-base 中更改 I18nManager.forceRTL(true) 时选项卡未呈现