EMQX otvara način provjere autorizacije HTTP veze

Referenca

Službena stranica Dodatak za HTTP provjeru autentičnosti HTTP protokol

Konfigurirajte dodatak za HTTP provjeru autentičnosti

Upotrijebite vi ili vim za uređivanje datoteke /etc/emqx/plugins/emqx_auth_http.conf. Konfigurirajte provjeru autentičnosti veze, autentifikaciju administratora te objavite i pretplatite autentifikaciju. Konfiguracija je podijeljena na četiri stavke, adresu HTTP sučelja, način zahtjeva, vrstu sadržaja i parametre zahtjeva. Adresa sučelja odnosi se na HTTP adresu. Za metodu zahtjeva obično koristimo GET ili POST, a preporučuje se POST. Vrsta sadržaja obično koristi x-www-form-urlencoded. Parametar zahtjeva je najvažniji. Ovdje moramo uključiti sav sadržaj potreban za ocjenu autorizacije. Detaljan opis svih parametara možete pogledati u referentnim materijalima. U našem primjeru u nastavku, adresa usluge našeg API-ja jedinstveni je unos. Stvarno sučelje poziva određeno je radnjom u parametru. Naravno, možemo ga i razlikovati od url-a, a možete ga prilagoditi prema vlastitoj upotrebi. Kôd poslužitelja neće biti opisan u ovom članku, jer je usko integriran s poslovnom logikom. Ono što moramo učiniti je vratiti rezultat u EMQX nakon logičke prosudbe. Ako želimo proći provjeru autentičnosti, normalno ćemo vratiti HTTP 200 statusni kod, ako ne uspije Vraća HTTP 403 statusni 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
        

Učitajte dodatak za HTTP provjeru autentičnosti

            emqx_ctl plugins load emqx_auth_http
        

Rezultati provjere valjanosti

Nakon gore navedenih operacija, za povezivanje trebamo upotrijebiti MQTT klijent. Pokušavamo koristiti uobičajenog klijenta i klijenta za upravljanje kako bi se povezali s poslužiteljem kako bismo provjerili je li rezultat očekivan. Zatim objavite i pretplatite se na teme kako biste vidjeli ispunjava li nadležni nadzor naše zahtjeve. Ako se pronađe iznimka, možemo ispraviti pogreške na poslužiteljskom kodu dok sve ne bude normalno.