EMQX mécht HTTP Verbindung Autorisatiounsverifikatiounsmodus op
Referenz
Offiziell Websäit HTTP Authentifikatioun Plugin HTTP ProtokollHTTP Authentifikatioun Plugin konfiguréieren
Benotzt vi oder vim fir d'Datei /etc/emqx/plugins/emqx_auth_http.conf z'änneren. Configuréiert Verbindungsautentifikatioun, Administrator Authentifikatioun, a verëffentlecht respektiv abonnéiert Authentifikatioun. D'Konfiguratioun ass opgedeelt a véier Elementer, HTTP Interface Adress, Ufro Method, Inhalt Typ, a Ufro Parameteren. D'Interface Adress bezitt sech op eng HTTP Adress. Mir benotze normalerweis GET oder POST fir d'Ufro Method, an POST ass recommandéiert. Den Inhaltstyp benotzt normalerweis x-www-form-urlencoded. De Parameter vun der Ufro ass déi wichtegst. Hei musse mir all den Inhalt enthalen dee mir brauchen fir d'Autorisatioun ze beurteelen. Déi detailléiert Beschreiwung vun alle Parameteren kann an de Referenzmaterial gekuckt ginn An eisem Beispill hei ënnen ass d'Serviceadress vun eiser API en eenheetlecht Element. Déi aktuell Uruffinterface gëtt vun der Handlung am Parameter spezifizéiert. Natierlech kënne mir se och vun der URL ënnerscheeden, an Dir kënnt se no Ärem eegene Gebrauch upassen. De Servercode gëtt net an dësem Artikel beschriwwen, well en enk mat der Geschäftslogik integréiert ass. Wat mir musse maachen ass d'Resultat zréck ze EMQX nom logeschen Uerteel. Wa mir d'Authentifikatioun weiderginn, da kréie mir den HTTP 200 Statuscode normalerweis zréck, wann et net geet Et gëtt den HTTP 403 Statuscode zréck.
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
Luet HTTP Authentifikatioun Plugin
emqx_ctl plugins load emqx_auth_http
Validatioun Resultater
No den uewe genannten Operatiounen, musse mir de MQTT Client benotze fir ze verbannen. Mir probéieren den normale Client a Gestiounsklient ze benotze fir mam Server ze verbannen fir ze kucken ob d'Resultat wéi erwaart ass. Da publizéiert an abonnéiert Themen fir ze kucken ob d'Autoritéitskontroll eis Ufuerderungen entsprécht. Wann eng Ausnam fonnt gëtt, kënne mir de Servercode debuggen bis alles normal ass.