如何实现MQTT Broker端授权



我有一个MQTT代理,其中的设备连接到它并将数据发布到代理,我还有一个nodejs程序,它可以帮助客户端订阅主题,并通过设备接收他们发布的数据。

现在,我的用例是为每个客户端提供一个唯一的令牌,它们必须在连接MQTT代理时发送该令牌,以便开始发布数据。我希望使用API验证该客户端令牌,然后在客户端和MQTT代理之间建立连接。

我已经搜索了我的用例,但没有找到任何帮助。

Mosquitto有一个授权插件API,可以让您构建身份验证方案。

API的文档在这里

您还可以在GitHub中搜索现有的身份验证插件,例如。https://github.com/jpmens/mosquitto-auth-plug(这个插件不再开发,但有活动的分叉(

如果您愿意放弃使用Mosquitto,您可以使用aedes node.js库,它可以让您轻松地设置mqtt代理。

在那里,您可以使用handler.authenticatehandler.authorizePublishhandler.authorizeSubscribe来实现您想要的任何身份验证逻辑。不需要依赖插件。

最新更新