EMQX malfermas modon de kontrolo de rajtigo de konekto HTTP

Referenco

Oficiala retejo HTTP-aŭtentiga kromaĵo HTTP-protokolo

Agordi kromprogramon de HTTP-konfirmo

Uzu vi aŭ vim por redakti la dosieron /etc/emqx/plugins/emqx_auth_http.conf. Agordu konektan aŭtentikigon, administrantan aŭtentikigon, kaj publikigu kaj abonu aŭtentikigon respektive. La agordo estas dividita en kvar erojn, HTTP-interfacan adreson, petmetodon, enhavan tipon kaj petajn parametrojn. La interfaca adreso rilatas al HTTP-adreso. Ni kutime uzas GET aŭ POST por la peta metodo, kaj POST estas rekomendinda. La enhava tipo kutime uzas x-www-form-urlencoded. La peta parametro estas la plej grava. Ĉi tie ni devas inkluzivi la tutan enhavon, kiun ni bezonas por juĝi la rajtigon. La detala priskribo de ĉiuj parametroj videblas en la referencaj materialoj. En nia suba ekzemplo, la servo-adreso de nia API estas unuigita eniro. La efektiva voka interfaco estas specifita per la ago en la parametro. Kompreneble ni ankaŭ povas distingi ĝin de la url, kaj vi povas ĝustigi ĝin laŭ via propra uzado. La servila kodo ne estos priskribita en ĉi tiu artikolo, ĉar ĝi estas proksime integrita kun la komerca logiko. Kion ni devas fari estas redoni la rezulton al EMQX post logika juĝo. Se ni volas pasigi la aŭtentokontrolon, ni resendos la statokodon HTTP 200 normale, se ĝi malsukcesos. Ĝi redonas la statusan kodon 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
        

Ŝarĝi HTTP-aŭtentikan aldonaĵon

            emqx_ctl plugins load emqx_auth_http
        

Validigaj rezultoj

Post la supraj operacioj, ni devas uzi la MQTT-klienton por konektiĝi. Ni provas uzi la normalan klienton kaj administran klienton por konekti al la servilo por vidi ĉu la rezulto estas kiel atendite. Poste publikigu kaj abonu temojn por vidi ĉu la aŭtoritata kontrolo plenumas niajn postulojn. Se escepto troviĝas, ni povas elpurigi la servilan kodon ĝis ĉio normalas.