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