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

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

当我尝试保留所有连接用户的列表时,我的问题来了。 我能做什么:

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

– >但我怎么能信任用户? 任何用户都可以用随机的“user_id”参数发送“Hello”消息。

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

另一种解决scheme可能是使用RPC调用来连接用户。 其实,我做了这个authentication用户。 但服务器可以自己广播一个事件到话题“/ contacts / connections”吗? (在RPC调用之后,而不是在“发布”消息之后)我读过这个事件只是客户端“发布”的直接结果。 此外,这不会阻止普通用户发送事件,“/ contacts / connections”主题将由服务器进行广播。

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

谢谢

WAMP区分

  1. authentication
  2. 授权
  3. validation

身份validation在WAMP路由器上build立WAMP客户端的身份。

当使用Autobahn | Python来推出你自己的WAMP路由器时, 这里有多个例子展示了如何实现不同的authentication机制。

当使用Crossbar.io (一个集成的,生产就绪的WAMP路由器)时,authentication机制就内置在这里 。


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

当使用Autobahn | Python来滚动您自己的WAMP路由器时,下面是一个显示如何实现自定义授权的示例。

Crossbar.io有一个内置的静态授权scheme,并允许注册自定义的WAMP程序进行授权( 这里 )。


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

这是一个Autobahn | Python的例子。 Crossbar.io将很快允许注册自定义的WAMP程序进行validation。


Interesting Posts