【发布时间】:2018-04-13 22:36:24
【问题描述】:
如何使用自定义身份验证方法对频道的用户进行身份验证?
例如,在我的应用程序中,我为我的 API 使用令牌身份验证(存储在每个用户的数据库中),通过标头传递并由自定义中间件读取。
如何使用这些自定义的频道身份验证方法控制访问?客户端和服务器端如何?我正在使用 socket.io 并且 Laravel 文档非常不清楚 auth 方法如何用于套接字。
用例:
我使用默认 Laravel 迁移将用户存储在数据库中。但是,我的应用程序如何只是 API,它是无状态的,然后,我没有使用 remember_token 来存储会话令牌,而是使用它来存储在登录端点中生成的唯一身份验证令牌。
API 的每个端点,请求都通过一个中间件,在该中间件中,用户通过标头中存在的令牌检索
$token = Request::header('X-token');
$request->user = User::findByToken($token);
return $next($request);
现在问题来了。Laravel 文档对私有通道的工作方式不是很清楚。
广播客户端如何传递上述令牌并获得授权加入给定频道?
【问题讨论】:
-
嘿@Luiz 我仍然不确定你想弄清楚什么?
-
如果我不使用 Laravel 默认的身份验证方法(例如,JWT 或其他令牌方法),我想知道如何授权用户访问给定的私人频道。
-
@Luiz 您能否提供一些代码示例来说明您已经尝试过的内容以及您认为缺少知识的地方?
-
@Leith 当然,更新了问题