EMQX otvára režim overenia autorizácie pripojenia HTTP
Odkaz
Oficiálna web stránka Zásuvný modul HTTP HTTP protokolNakonfigurujte doplnok na autentifikáciu HTTP
Pomocou súborov vi alebo vim upravte súbor /etc/emqx/plugins/emqx_auth_http.conf. Nakonfigurujte autentifikáciu pripojenia, autentifikáciu administrátora a autentizáciu publikácie a prihlásenia na odber. Konfigurácia je rozdelená na štyri položky, adresu rozhrania HTTP, metódu požiadavky, typ obsahu a parametre požiadavky. Adresa rozhrania sa vzťahuje na adresu HTTP. Zvyčajne pre metódu požiadavky používame GET alebo POST a odporúča sa POST. Typ obsahu zvyčajne používa kód x-www-form-urlencoded. Parameter požiadavky je najdôležitejší. Tu musíme zahrnúť všetok obsah, ktorý potrebujeme na posúdenie autorizácie. Podrobný popis všetkých parametrov je uvedený v referenčných materiáloch. V našom príklade uvedenom nižšie je adresou služby nášho API jednotný záznam. Rozhranie skutočného volania je špecifikované akciou v parametri. Samozrejme ho môžeme odlíšiť aj od adresy URL a môžete si ho upraviť podľa svojho vlastného použitia. Kód servera nebude v tomto článku popísaný, pretože je úzko integrovaný s obchodnou logikou. Čo musíme urobiť, je vrátiť výsledok po logickom posúdení do EMQX. Ak chceme odovzdať autentizáciu, vrátime stavový kód HTTP 200 normálne, ak zlyhá Vráti stavový kód 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
Načítajte overovací doplnok HTTP
emqx_ctl plugins load emqx_auth_http
Výsledky overenia
Po vykonaní vyššie uvedených operácií musíme na pripojenie použiť klienta MQTT. Pokúšame sa použiť bežného klienta a klienta na správu na pripojenie k serveru, aby sme zistili, či je výsledok podľa očakávaní. Potom publikujte a prihláste sa na odber tém, aby ste zistili, či kontrola oprávnenia spĺňa naše požiadavky. Ak sa nájde výnimka, môžeme ladiť kód servera, kým nebude všetko normálne.