Как реализовать авторизацию на стороне брокера MQTT?

#node.js #mqtt #mosquitto

#node.js #mqtt #mosquitto

Вопрос:

У меня есть брокер MQTT, к которому подключаются устройства и публикуют данные брокеру, и у меня есть программа nodejs, которая помогает клиентам подписаться на тему и получать данные, которые они публикуют через свое устройство.

Теперь мой вариант использования — предоставить каждому клиенту уникальный токен, который они должны отправить при подключении к брокеру MQTT, чтобы начать публикацию данных. И я хочу проверить этот токен клиента с помощью API, а затем установить соединение между клиентом и брокером MQTT.

Я искал свой вариант использования, но не нашел никакой помощи.

Ответ №1:

Mosquitto имеет API плагина авторизации, который позволит вам создать свою схему аутентификации.

Документ для API находится здесь

Вы также можете выполнить поиск в GitHub для существующих плагинов аутентификации, например https://github.com/jpmens/mosquitto-auth-plug (этот плагин больше не разрабатывается, но есть активные форки)

Комментарии:

1. В Go кто-то написал новый плагин аутентификации. Для меня это работает хорошо, хотя генерация зашифрованных паролей может быть немного суетливой (что я нашел и для старого): github.com/iegomez/mosquitto-go-auth

2. Есть ли какие-либо примеры, показывающие, как это реализовать?

3. Я уже предоставил ссылку на пример на github…