如何解决socket.io 事件的访问控制层?
我想请教关于在 socket.io 中使用某种访问控制层的建议/注意事项。我还没有找到关于这个主题的任何信息,所以我写在这里。我想知道是否有正确的模式,是否是反模式,或者我的想法是否可行。
一点背景
我正在构建一个应用程序,它允许两种不同类型的客户端相互通信。这两种类型的客户端扮演两种不同的角色,比如 Role1 和 Role2。 Role1 和 Role2 在服务器上使用 JWT 进行身份验证,该 JWT 之前已获得,并在连接时在 auth 选项中发送。
Role2 的客户可能代表匿名客户。他们可以使用特殊的随机代码从服务器检索特殊的 JWT,允许他们在 socket.io 服务器上进行身份验证。
Role2 不能扮演 Role1 的角色,所以我需要一种方法来控制 role2 客户端可以做什么。
我的想法
我目前的想法是在事件上引入一个访问控制层。基本上:
- JWT 包含允许客户端发出的事件列表
- 在服务器端有一个套接字级中间件,用于检查 JWT 中包含的列表是否允许接收到的事件。如果是,则事件由侦听器处理,否则将被丢弃。 我想知道我的方法是否有效,或者是否有更好的方法。
提前致谢! ?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。