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 для подключения.Мы пытаемся использовать обычный клиент и клиент управления для подключения к серверу, чтобы увидеть, соответствует ли результат ожидаемому. Затем опубликуйте и подпишитесь на тему, чтобы узнать, соответствует ли авторитетный контроль нашим требованиям. Если обнаружено исключение, мы можем отлаживать код сервера, пока все не станет нормально.