EMQX atidaro HTTP ryšio patvirtinimo režimą
Nuoroda
Oficiali svetainė HTTP autentifikavimo papildinys HTTP protokolasKonfigūruokite HTTP autentifikavimo papildinį
Norėdami redaguoti failą /etc/emqx/plugins/emqx_auth_http.conf, naudokite „vi“ arba „vim“. Konfigūruokite ryšio autentifikavimą, administratoriaus autentifikavimą ir paskelbkite bei prenumeruokite autentifikavimą. Konfigūracija suskirstyta į keturis elementus: HTTP sąsajos adresą, užklausos metodą, turinio tipą ir užklausos parametrus. Sąsajos adresas reiškia HTTP adresą. Paprastai prašymo metodui naudojame GET arba POST, todėl rekomenduojama POST. Turinio tipas paprastai naudoja x-www-form-urlencoded. Užklausos parametras yra svarbiausias. Čia turime įtraukti visą turinį, kurio mums reikia norint įvertinti autorizaciją. Išsamų visų parametrų aprašymą galima peržiūrėti informacinėje medžiagoje. Toliau pateiktame pavyzdyje mūsų API paslaugos adresas yra vieningas įrašas. Faktinę skambučio sąsają nurodo veiksmas parametre. Žinoma, mes taip pat galime jį atskirti nuo URL ir galite jį koreguoti pagal savo naudojimą. Serverio kodas nebus aprašytas šiame straipsnyje, nes jis yra glaudžiai integruotas su verslo logika. Ką turime padaryti, tai grąžinti rezultatą į EMQX po loginio sprendimo. Jei norime perduoti autentifikavimą, mes grąžinsime HTTP 200 būsenos kodą paprastai, jei nepavyks Jis grąžina HTTP 403 būsenos kodą.
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
Įkelti HTTP autentifikavimo papildinį
emqx_ctl plugins load emqx_auth_http
Patvirtinimo rezultatai
Po pirmiau minėtų operacijų turime prisijungti naudodami MQTT klientą. Mes bandome naudoti įprastą klientą ir valdymo klientą prisijungti prie serverio, kad sužinotume, ar rezultatas yra toks, kokio tikėtasi. Tada paskelbkite ir užsiprenumeruokite temas, kad sužinotumėte, ar valdžios kontrolė atitinka mūsų reikalavimus. Jei randama išimtis, galime derinti serverio kodą, kol viskas bus normalu.