Binubuksan ng EMQX ang mode ng pagpapatunay ng pahintulot sa koneksyon ng HTTP
Sanggunian
Opisyal na website HTTP pagpapatotoo plugin HTTP protocolI-configure ang plugin ng pagpapatotoo ng HTTP
Gumamit ng vi o vim upang mai-edit ang /etc/emqx/plugins/emqx_auth_http.conf file. I-configure ang pagpapatotoo ng koneksyon, pagpapatotoo ng administrator, at i-publish at i-subscribe ang pagpapatotoo ayon sa pagkakabanggit. Ang pagsasaayos ay nahahati sa apat na item, address ng interface ng HTTP, paraan ng paghiling, uri ng nilalaman, at mga parameter ng paghiling. Ang address ng interface ay tumutukoy sa isang HTTP address. Karaniwan kaming gumagamit ng GET o POST para sa paraan ng paghiling, at inirerekumenda ang POST. Ang uri ng nilalaman ay karaniwang gumagamit ng x-www-form-urlencoded. Ang parameter ng kahilingan ay pinakamahalaga. Dito kailangan naming isama ang lahat ng nilalaman na kailangan namin upang hatulan ang pahintulot. Ang detalyadong paglalarawan ng lahat ng mga parameter ay maaaring matingnan sa mga sanggunian na materyales. Sa aming halimbawa sa ibaba, ang address ng serbisyo ng aming API ay isang pinag-isang entry. Ang aktwal na interface ng tawag ay tinukoy ng pagkilos sa parameter. Siyempre, maaari din nating makilala ito mula sa url, at maaari mo itong ayusin ayon sa iyong sariling paggamit. Ang server code ay hindi mailalarawan sa artikulong ito, sapagkat malapit itong isinama sa lohika ng negosyo. Ang dapat nating gawin ay ibalik ang resulta sa EMQX pagkatapos ng lohikal na paghuhusga. Kung nais naming ipasa ang pagpapatotoo, ibabalik namin ang HTTP 200 status code nang normal, kung nabigo Ibinabalik nito ang code ng status na 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
I-load ang plugin ng pagpapatotoo ng HTTP
emqx_ctl plugins load emqx_auth_http
Mga resulta sa pagpapatunay
Matapos ang mga pagpapatakbo sa itaas, kailangan naming gamitin ang MQTT client upang kumonekta. Sinusubukan naming gamitin ang normal na client at client ng pamamahala upang kumonekta sa server upang makita kung ang resulta ay inaasahan. Pagkatapos ay i-publish at mag-subscribe ng mga paksa upang makita kung ang kontrol sa awtoridad ay nakakatugon sa aming mga kinakailangan. Kung may natagpuang isang pagbubukod, maaari naming i-debug ang server code hanggang sa maging normal ang lahat.