2014-12-19 8 views
1

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

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

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

ответ

0

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

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

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

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

Паоло.

3

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

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

Обязательная оговорка: Я работаю в компании за HiveMQ.

+0

Как уже упоминалось в другом ответе «С последней спецификацией MQTT 3.1.1 в сообщении SUBACK вы можете установить ошибку для отказа в подписке. Также в этом случае зависит от реализации брокера, как вы можете заблокировать устройство от подписки». Поддерживает ли hivemq это? – takirala

+0

Да, поскольку HiveMQ 2.0 поддерживается из коробки. Спецификация MQTT 3.1.1 реализована полностью, и HiveMQ прошел тест на совместимость MQTT 2014 со 100% для всех функций MQTT 3.1.1 –

 Смежные вопросы

  • Нет связанных вопросов^_^