Какая информация (например, идентификатор устройства, MAC и т. Д.) Будет отправлена ​​на сервер MQTT в фоновом режиме при создании соединения?

Можем ли мы заблокировать подключение устройства к серверу MQTT?

Можем ли мы заблокировать устройство от подписки на тему?

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

2 ответа

Популярные MQTT-брокеры, такие как HiveMQ и mosquitto, позволяют выполнять аутентификацию и авторизацию. Если вы используете HiveMQ, есть плагин для аутентификации файлов, который позволяет вам ограничить доступ к брокеру через имя пользователя / пароль.

Если у вас уже есть механизмы аутентификации, такие как API, который вы можете вызывать с помощью Java (например, HTTP REST API, веб-сервисы SOAP, базы данных и т. Д.), Очень легко подключить его к HiveMQ с помощью системы плагинов. Вы можете увидеть пример плагина, который интегрируется с базой данных здесь, на Github. Другой плагин, который вы можете посмотреть, это плагин Stormpath, исходный код также доступен на Github.

Обязательный отказ от ответственности: я работаю в компании, стоящей за HiveMQ.

Некоторые функции строго связаны с реализацией брокера, а другие зависят от спецификации MQTT.

Когда клиент подключается к брокеру, он предоставляет идентификатор клиента и (необязательно) имя пользователя и пароль. Относительно конкретной реализации брокера, он может предоставить механизм аутентификации, чтобы вы могли блокировать подключение устройств на основе идентификатора клиента, имени пользователя и пароля.

В последней спецификации MQTT 3.1.1 в сообщении SUBACK вы можете указать ошибку для отказа в подписке. Также в этом случае зависит от реализации брокера, как вы можете заблокировать устройство от подписки.

Как видите, спецификация MQTT предлагает вам некоторые функции для механизма аутентификации, но эти функции доступны или нет (и по-разному) в зависимости от конкретной реализации брокера.

Паоло.

Другие вопросы по тегам