EMQX відкриває режим перевірки авторизації з’єднання HTTP

Довідково

Офіційний веб-сайт Плагін аутентифікації HTTP Протокол HTTP

Налаштуйте плагін автентифікації HTTP

Використовуйте vi або vim для редагування файлу /etc/emqx/plugins/emqx_auth_http.conf. Налаштуйте автентифікацію з'єднання, автентифікацію адміністратора, а також автентифікацію публікації та передплати відповідно. Конфігурація розділена на чотири елементи, адресу інтерфейсу HTTP, метод запиту, тип вмісту та параметри запиту. Адреса інтерфейсу відноситься до адреси HTTP. Зазвичай ми використовуємо GET або POST для методу запиту, і рекомендується POST. Тип вмісту зазвичай використовує x-www-form-urlencoded. Параметр запиту є найважливішим. Тут нам потрібно включити весь вміст, необхідний для оцінки авторизації. Детальний опис усіх параметрів можна переглянути в довідкових матеріалах. У нашому прикладі нижче, сервісна адреса нашого API - це уніфікований запис. Фактичний інтерфейс виклику визначається дією в параметрі. Звичайно, ми також можемо відрізнити його від URL-адреси, і ви можете налаштувати його відповідно до власного використання. Код сервера не буде описаний у цій статті, оскільки він тісно інтегрований з бізнес-логікою. Нам потрібно повернути результат до EMQX після логічного судження. Якщо ми хочемо пройти автентифікацію, ми повернемо код стану HTTP 200, якщо він не вдасться Він повертає код стану HTTP 403.

            auth.http.auth_req = http://127.0.0.1:80/
auth.http.auth_req.method = post
auth.http.auth_req.content_type = x-www-form-urlencoded
auth.http.auth_req.params = client_id=%c,username=%u,password=%P,action=emqx_auth:auth_req
auth.http.super_req = http://127.0.0.1:80/
auth.http.super_req.method = post
auth.http.super_req.content_type = x-www-form-urlencoded
auth.http.super_req.params = client_id=%c,username=%u,action=emqx_auth:super_req
auth.http.acl_req = http://127.0.0.1:80/
auth.http.acl_req.method = post
auth.http.acl_req.content_type = x-www-form-urlencoded
auth.http.acl_req.params = access=%A,username=%u,client_id=%c,ip=%a,topic=%t,action=emqx_auth:acl_req
        

Завантажте плагін автентифікації HTTP

            emqx_ctl plugins load emqx_auth_http
        

Результати перевірки

Після вищевказаних операцій нам потрібно скористатися клієнтом MQTT для підключення. Ми намагаємося використовувати звичайного клієнта та клієнта управління для підключення до сервера, щоб перевірити, чи результат є належним. Потім опублікуйте та підпишіться на теми, щоб перевірити, чи відповідає орган управління нашим вимогам. Якщо буде знайдено виняток, ми можемо налагоджувати код сервера, поки все не стане нормальним.