EMQX hap mënyrën e verifikimit të autorizimit të lidhjes HTTP

Referenca

Uebfaqe zyrtare Shtojca e vërtetimit HTTP Protokolli HTTP

Konfiguroni shtojcën e vërtetimit HTTP

Përdorni vi ose vim për të redaktuar skedarin /etc/emqx/plugins/emqx_auth_http.conf. Konfiguroni vërtetimin e lidhjes, vërtetimin e administratorit dhe publikoni dhe regjistroheni përkatësisht. Konfigurimi është i ndarë në katër artikuj, adresa e ndërfaqes HTTP, metoda e kërkesës, lloji i përmbajtjes dhe parametrat e kërkesës. Adresa e ndërfaqes i referohet një adrese HTTP. Ne zakonisht përdorim GET ose POST për metodën e kërkesës, dhe POST rekomandohet. Lloji i përmbajtjes zakonisht përdor x-www-form-urlencoded. Parametri i kërkesës është më i rëndësishmi. Këtu duhet të përfshijmë të gjithë përmbajtjen që na duhet për të gjykuar autorizimin. Përshkrimi i hollësishëm i të gjithë parametrave mund të shihet në materialet referuese. Në shembullin tonë më poshtë, adresa e shërbimit të API-së tonë është një hyrje e unifikuar. Ndërfaqja aktuale e thirrjes specifikohet nga veprimi në parametër. Sigurisht, ne gjithashtu mund ta dallojmë atë nga url, dhe ju mund ta rregulloni atë në përputhje me përdorimin tuaj. Kodi i serverit nuk përshkruhet në këtë artikull, sepse është i integruar ngushtë me logjikën e biznesit. Ajo që duhet të bëjmë është të kthejmë rezultatin në EMQX pas gjykimit logjik. Nëse duam të kalojmë vërtetimin, ne do të kthejmë normalisht kodin e statusit HTTP 200. Kthen kodin e statusit 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
        

Ngarko shtojcën e vërtetimit HTTP

            emqx_ctl plugins load emqx_auth_http
        

Rezultatet e vlerësimit

Pas operacioneve të mësipërme, ne duhet të përdorim klientin MQTT për t'u lidhur. Ne përpiqemi të përdorim klientin normal dhe klientin e menaxhimit për t'u lidhur me serverin për të parë nëse rezultati është siç pritej. Pastaj botoni dhe regjistroni tema për të parë nëse kontrolli i autoritetit i plotëson kërkesat tona. Nëse gjendet një përjashtim, ne mund të korrigjojmë kodin e serverit derisa gjithçka të jetë normale.