EMQX odpre način preverjanja pooblastila za povezavo HTTP
Referenca
Uradna spletna stran Vtičnik za overjanje HTTP Protokol HTTPKonfigurirajte vtičnik za preverjanje pristnosti HTTP
Uporabite vi ali vim za urejanje datoteke /etc/emqx/plugins/emqx_auth_http.conf. Konfigurirajte preverjanje pristnosti povezave, preverjanje pristnosti skrbnika ter preverjanje pristnosti objave in naročanja. Konfiguracija je razdeljena na štiri elemente, naslov vmesnika HTTP, način zahteve, vrsto vsebine in parametre zahteve. Naslov vmesnika se nanaša na naslov HTTP. Za način zahteve običajno uporabljamo GET ali POST in priporočamo POST. Vrsta vsebine običajno uporablja x-www-form-urlencoded. Parameter zahteve je najpomembnejši. Tu moramo vključiti vso vsebino, ki jo potrebujemo za presojo pooblastila. Podroben opis vseh parametrov si lahko ogledate v referenčnih gradivih. V našem spodnjem primeru je naslov storitve našega API-ja enoten vnos. Dejanski vmesnik za klic je določen z dejanjem v parametru. Seveda ga lahko ločimo tudi od urla in ga lahko prilagodite glede na svojo uporabo. Koda strežnika v tem članku ne bo opisana, ker je tesno povezana s poslovno logiko. Kar moramo storiti, je vrniti rezultat v EMQX po logični presoji. Če želimo opraviti preverjanje pristnosti, bomo običajno vrnili kodo stanja HTTP 200, če ne uspe Vrne kodo stanja 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
Naložite vtičnik za preverjanje pristnosti HTTP
emqx_ctl plugins load emqx_auth_http
Rezultati validacije
Po zgornjih operacijah moramo za povezavo uporabiti odjemalca MQTT. Za povezavo s strežnikom poskušamo uporabiti običajnega odjemalca in odjemalca za upravljanje, da ugotovimo, ali je rezultat po pričakovanjih. Nato objavite in naročite teme, da preverite, ali nadzorni organ izpolnjuje naše zahteve. Če najdemo izjemo, lahko strežniško kodo odpravljamo napake, dokler ni vse normalno.