EMQX deschide modul de verificare a autorizării conexiunii HTTP

Referinţă

Site oficial Plugin de autentificare HTTP Protocol HTTP

Configurați pluginul de autentificare HTTP

Utilizați vi sau vim pentru a edita fișierul /etc/emqx/plugins/emqx_auth_http.conf. Configurați autentificarea conexiunii, autentificarea administratorului și, respectiv, publicați și abonați autentificarea. Configurația este împărțită în patru elemente, adresa interfeței HTTP, metoda cererii, tipul de conținut și parametrii cererii. Adresa interfeței se referă la o adresă HTTP. De obicei, folosim GET sau POST pentru metoda de solicitare și se recomandă POST. Tipul de conținut folosește de obicei x-www-form-urlencoded. Parametrul de solicitare este cel mai important. Aici trebuie să includem tot conținutul de care avem nevoie pentru a judeca autorizația. Descrierea detaliată a tuturor parametrilor poate fi vizualizată în materialele de referință. În exemplul nostru de mai jos, adresa serviciului API-ului nostru este o intrare unificată. Interfața de apel reală este specificată de acțiunea din parametru. Desigur, o putem distinge și de adresa URL și o puteți regla în funcție de propria utilizare. Codul serverului nu va fi descris în acest articol, deoarece este strâns integrat cu logica de business. Ceea ce trebuie să facem este să returnăm rezultatul la EMQX după judecată logică. Dacă vrem să trecem autentificarea, vom returna codul de stare HTTP 200 în mod normal, dacă nu reușește Returnează codul de stare 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
        

Încărcați pluginul de autentificare HTTP

            emqx_ctl plugins load emqx_auth_http
        

Rezultatele validării

După operațiunile de mai sus, trebuie să folosim clientul MQTT pentru a ne conecta. Încercăm să folosim clientul normal și clientul de management pentru a ne conecta la server pentru a vedea dacă rezultatul este așa cum era de așteptat. Apoi publicați și abonați-vă la subiect pentru a vedea dacă controlul autorității îndeplinește cerințele noastre. Dacă se găsește o excepție, putem depana codul serverului până când totul este normal.