WAMP.ws:如何管理安全性和隐私?

新丸

我正在使用WAMP.ws规范在我的网站上设计公共/私人用户聊天室。

当我尝试保留所有已连接用户的列表时,就会出现我的问题。我能做什么:

  1. 所有用户都订阅“ / contacts / connections”主题。
  2. 当用户连接时,他发布带有“ user_id”参数的“ hello”消息,告诉其他用户他已连接。

->但是我如何信任用户?任何用户都可以发送带有随机“ user_id”参数的“ Hello”消息。

对我来说,服务器必须在广播消息之前进行一些检查。但这是否符合WAMP.js规范?我读过,已发布的消息始终由服务器广播。

另一个解决方案可能是使用RPC调用来连接用户。实际上,我这样做是为了对用户进行身份验证。但是服务器本身是否可以将事件广播到主题“ /联系人/连接”?(在RPC调用之后,而不是在“发布”消息之后),我已经了解到事件仅仅是客户端“发布”的直接结果。而且,这将不会阻止普通用户发送“ /联系/连接”事件,该事件将由服务器广播。

我觉得我的两个解决方案(在广播之前检查发布的消息,或者在RPC调用之后由服务器广播事件)都违反了WAMP.js规范。我错了吗 ?

谢谢

最高

WAMP区分

  1. 认证方式
  2. 授权书
  3. 验证方式

身份验证在WAMP路由器上建立WAMP客户端的身份。

当使用Autobahn | Python滚动您自己的WAMP路由器时,这里有多个示例显示了如何实现不同的身份验证机制。

使用Crossbar.io(集成的,可投入生产的WAMP路由器)时,内置了身份验证机制(此处)。


授权确定是否允许给定的WAMP客户端对给定的URI执行WAMP操作(例如发布或调用)。

当使用高速公路| Python的推出自己的WAMP的路由器,这里是展示如何实现自定义授权的例子。

Crossbar.io具有内置的静态授权方案,并允许注册自定义WAMP程序以进行授权(此处)。


最后,还有Validation,它检查事件或调用的应用程序级别有效负载。

是高速公路| Python的示例。Crossbar.io很快将允许注册自定义WAMP程序进行验证。


本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章