使用 MYSQL 的 Mosquitto 身份验证

Mosquitto Authentication with MYSQL

我想将自己的 Mosquitto 代理设置为 docker 容器。 这不是问题,因为那里有几个准备 运行 的容器。

我的问题是,我如何以某种方式配置 mosquitto,以便我可以存储用户登录凭据,以针对 mosquitto 进行身份验证,在 mysql 之类的数据库而不是密码文件中。

背景是,我想通过 PHP 脚本配置访问。 我对其他方法开放,而不是使用 mysql 数据库。

但我认为数据库是最好的解决方案。 我也对 Mosquitto 的替代品持开放态度。我只想将 MQTT 与基于数据库的用户身份验证一起使用。

谢谢

我有一个 Dockerfile,它将使用 Mosquitto 和身份验证插件构建一个容器 (https://github.com/jpmens/mosquitto-auth-plug)。在我的例子中,我将它设置为针对托管在同一容器中的 MongoDB 实例工作,但修改它以针对本地或远程的 MySQL 实例工作并不难。

我已将 Dockerfile 放在 Gist here 上作为起始参考。

此存储库附带一个预配置的 mosquitto 代理以及一个 PostgreSQL 数据库 auth,您可以在其中 add/edit/delete 个用户。

Link: https://github.com/vish30/docker-mosquitto