EMQX iepenet ferifikaasjemodus foar HTTP-ferbining

Referinsje

Offisjele webside HTTP-ferifikaasje-plugin HTTP-protokol

HTTP-ferifikaasje-plugin ynstelle

Brûk vi of vim om it bestân /etc/emqx/plugins/emqx_auth_http.conf te bewurkjen. Konfigurearje ferbiningferifikaasje, behearder fan administrator, respektivelik publisearje en abonnearje. De konfiguraasje is ferdield yn fjouwer items, HTTP-ynterface-adres, fersykmetoade, ynhâldstype, en fersykparameters. It ynterface-adres ferwiist nei in HTTP-adres. Wy brûke normaal GET as POST foar de fersykmetoade, en POST wurdt oanrikkemandearre. It ynhâldstype brûkt gewoanlik x-www-form-urlencoded. De oanfraachparameter is it wichtichste. Hjir moatte wy alle ynhâld opnimme dy't wy nedich binne om de autorisaasje te beoardieljen. De detaillearre beskriuwing fan alle parameters is te besjen yn it referinsjemateriaal. Yn ús foarbyld hjirûnder is it tsjinstadres fan ús API in unifoarme yngong. De eigentlike opropinterface wurdt oantsjutte troch de aksje yn 'e parameter. Fansels kinne wy ​​it ek ûnderskiede fan' e url, en jo kinne it oanpasse oan jo eigen gebrûk. De serverkoade sil yn dit artikel net wurde beskreaun, om't dizze nau yntegreare is mei de bedriuwslogika. Wat wy moatte dwaan is om it resultaat werom te bringen nei EMQX nei logysk oardiel. As wy de ferifikaasje trochjaan wolle, sille wy de HTTP 200-statuskoade normaal werombringe, as it mislearret It retourneert de HTTP 403-statuskoade.

            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
        

Laad HTTP-ferifikaasje-plugin

            emqx_ctl plugins load emqx_auth_http
        

Validaasje resultaten

Nei de boppesteande operaasjes moatte wy de MQTT-kliïnt brûke om te ferbinen. Wy besykje de normale kliïnt en de behearsklient te brûken om te ferbinen mei de server om te sjen oft it resultaat is lykas ferwachte. Publisearje en abonnearje dan op it ûnderwerp om te sjen oft de autoriteitskontrôle foldocht oan ús easken. As in útsûndering wurdt fûn, kinne wy ​​de serverkoade debuggen oant alles normaal is.