如何制作一个检查 websocket 来源的 hivemq 插件?

问题描述

我想做一个被第三方网站使用的服务,他们的用户使用 websocket 连接到我的 hivemq 服务器,我只想让这些授权的网站用户连接到我的经纪人。

所以想写一个hivemq插件来查源

我想问一下如何存档,或者是否有更好的解决方案。

提前致谢。

解决方法

您需要编写一个 hivemq 自定义扩展程序,该扩展程序将根据带有其 client_name 的秘密释义对用户进行身份验证。

检查来源是一个糟糕的设计,因为客户端可以模拟来源。最初你应该使用身份验证。

对于解决方法,您可以要求您的 mqtt 客户端名称将某些内容定义为 client_name_secret 然后在连接时,您可以将名称与正则表达式进行匹配,或者您也可以拥有一个秘密表。

您可以在此处查看如何编写扩展 - https://www.hivemq.com/docs/hivemq/4.6/extensions/introduction.html#quickstart https://github.com/hivemq/hivemq-extension-sdk