EMQX otevírá režim ověřování autorizace připojení HTTP

Odkaz

Oficiální webové stránky Zásuvný modul HTTP HTTP protokol

Nakonfigurujte zásuvný modul pro ověřování HTTP

Pomocí souboru vi nebo vim upravte soubor /etc/emqx/plugins/emqx_auth_http.conf. Nakonfigurujte ověřování připojení, ověřování správce a ověřování publikování a přihlášení k odběru. Konfigurace je rozdělena na čtyři položky, adresu rozhraní HTTP, metodu požadavku, typ obsahu a parametry požadavku. Adresa rozhraní odkazuje na adresu HTTP. Pro metodu požadavku obvykle používáme GET nebo POST a doporučuje se POST. Typ obsahu obvykle používá x-www-form-urlencoded. Parametr požadavku je nejdůležitější. Zde musíme zahrnout veškerý obsah potřebný k posouzení oprávnění. Podrobný popis všech parametrů lze zobrazit v referenčních materiálech. V našem níže uvedeném příkladu je adresa služby našeho API jednotnou položkou. Skutečné volací rozhraní je specifikováno akcí v parametru. Samozřejmě jej můžeme také odlišit od adresy URL a můžete jej upravit podle svého vlastního použití. V tomto článku nebude popsán kód serveru, protože je úzce integrován s obchodní logikou. Musíme po logickém úsudku vrátit výsledek EMQX. Pokud chceme předat ověření, vrátíme stavový kód HTTP 200 normálně, pokud selže Vrací 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číst ověřovací modul HTTP

            emqx_ctl plugins load emqx_auth_http
        

Výsledky ověření

Po výše uvedených operacích musíme k připojení použít klienta MQTT. Pokusíme se použít k připojení k serveru běžného klienta a klienta pro správu, abychom zjistili, zda je výsledek podle očekávání. Poté publikujte a přihlaste se k odběru témat, abyste zjistili, zda kontrola oprávnění splňuje naše požadavky. Pokud je nalezena výjimka, můžeme ladit kód serveru, dokud není vše normální.