EMQX atver HTTP savienojuma autorizācijas verifikācijas režīmu
Atsauce
Oficiālā mājas lapa HTTP autentifikācijas spraudnis HTTP protokolsKonfigurējiet HTTP autentifikācijas spraudni
Izmantojiet vi vai vim, lai rediģētu failu /etc/emqx/plugins/emqx_auth_http.conf. Konfigurējiet savienojuma autentifikāciju, administratora autentifikāciju un attiecīgi publicējiet un abonējiet autentifikāciju. Konfigurācija ir sadalīta četros punktos, HTTP saskarnes adresē, pieprasījuma metodē, satura tipā un pieprasījuma parametros. Interfeisa adrese attiecas uz HTTP adresi. Pieprasījuma metodei mēs parasti izmantojam GET vai POST, un ieteicams izmantot POST. Satura tipā parasti tiek izmantots x-www-form-urlencoded. Pieprasījuma parametrs ir vissvarīgākais. Šeit mums jāiekļauj viss saturs, kas nepieciešams, lai spriestu par autorizāciju. Detalizētu visu parametru aprakstu var apskatīt atsauces materiālos. Zemāk esošajā piemērā mūsu API servisa adrese ir vienots ieraksts. Faktisko zvana interfeisu nosaka darbība parametrā. Protams, mēs to varam arī atšķirt no url, un jūs to varat pielāgot atbilstoši savam lietojumam. Servera kods šajā rakstā netiks aprakstīts, jo tas ir cieši integrēts biznesa loģikā. Kas mums jādara, ir atgriezt rezultātu EMQX pēc loģiskā sprieduma. Ja mēs vēlamies nodot autentifikāciju, mēs HTTP 200 statusa kodu parasti atgriezīsim, ja neizdosies Tas atgriež HTTP 403 statusa kodu.
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
Ielādēt HTTP autentifikācijas spraudni
emqx_ctl plugins load emqx_auth_http
Apstiprināšanas rezultāti
Pēc iepriekšminētajām darbībām mums jāizmanto MQTT klients, lai izveidotu savienojumu. Mēs mēģinām izmantot parasto klientu un pārvaldības klientu, lai izveidotu savienojumu ar serveri, lai redzētu, vai rezultāts ir tāds, kā paredzēts. Pēc tam publicējiet un abonējiet tēmas, lai redzētu, vai autoritātes kontrole atbilst mūsu prasībām. Ja tiek atrasts izņēmums, mēs varam atkļūdot servera kodu, līdz viss ir normāli.