【发布时间】:2020-06-09 21:31:05
【问题描述】:
我找不到太多关于使用 Sanctum 专门验证广播的答案。我正在尝试实现一个向推送者广播的基本事件,但在尝试连接到 /broadcasting/auth 时,我不断收到 403 错误。首先,是的,我取消了 /config/app.php 中的 BroadcastServiceProvider 的注释。这是我的广播服务提供商的摘录:
app/Providers/BroadcastServiceProvider.php
class BroadcastServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Broadcast::routes(['middleware' => ['auth:sanctum']]);
require base_path('routes/channels.php');
}
}
我使用 Sanctum 进行身份验证,我的所有端点都位于 api.php 文件中。我不确定我是否应该在那里声明Broadcast::routes,因为我已经看到一些人提到它,但我真的不知道它有什么区别,因为它仍然给我同样的错误。我什至不知道在这里调用 auth:sanctum 中间件是否有效。我的意思是,我知道它适用于我所有的 api 路由,但我不确定在这个 Provider 文件中。
我正在尝试使用 Postman 访问 /broadcasting/auth 端点,同时在请求中包含我的 Sanctum Authorization 标头(Bearer [token]),但它只给了我一个 403。 p>
有人可以在这里指出正确的方向吗?
【问题讨论】:
-
如果你删除这个“['middleware' => ['auth:sanctum']]”,就不再是 403 了吗?
标签: php laravel broadcasting