我有一个可以工作的 Feathers 应用程序,它有很多服务身份验证钩子,但 socket.io 过滤器很少。
我不清楚对 socket.io 端点的访问是否需要对用户进行身份验证以及服务挂钩如何影响他们。
那么首先,socket.io 连接是否只允许经过身份验证的用户使用?如果没有,有没有办法可以实现这个限制?
其次,我认为通过 socket.io 发出的数据将是hook.result
所有后挂钩执行后的来自服务方法。这样hooks.remove('password')
可以防止密码字段通过 socket.io 泄漏。这个假设正确吗?
第三,我想事件会发送给所有连接的用户。这就是为什么我需要指定过滤器来限制将哪些事件发送给哪些用户。有没有办法在 pre-hook 级别进行此类过滤,以避免在 socket.io 级别重复 HTTP 访问控制代码?