EMQX åpner bekreftelsesmodus for godkjenning av HTTP-tilkobling
Henvisning
Offesiell nettside HTTP-godkjenningsplugin HTTP-protokollKonfigurer HTTP-godkjenningsplugin
Bruk vi eller vim til å redigere /etc/emqx/plugins/emqx_auth_http.conf filen. Konfigurer tilkoblingsautentisering, administratorautentisering og publiser og abonner autentisering henholdsvis. Konfigurasjonen er delt inn i fire elementer, HTTP-grensesnittadresse, forespørselsmetode, innholdstype og forespørselsparametere. Grensesnittadressen refererer til en HTTP-adresse. Vi bruker vanligvis GET eller POST for forespørselsmetoden, og POST anbefales. Innholdstypen bruker vanligvis x-www-form-urlencoded. Forespørselsparameteren er den viktigste. Her må vi ta med alt innholdet vi trenger for å bedømme autorisasjonen. Den detaljerte beskrivelsen av alle parametrene kan vises i referansematerialet. I eksempelet vårt nedenfor er tjenesteadressen til API-en vår en enhetlig oppføring. Det faktiske anropsgrensesnittet er spesifisert av handlingen i parameteren. Selvfølgelig kan vi også skille den fra url, og du kan justere den i henhold til din egen bruk. Serverkoden vil ikke bli beskrevet i denne artikkelen, fordi den er tett integrert med forretningslogikken. Det vi må gjøre er å returnere resultatet til EMQX etter logisk vurdering. Hvis vi ønsker å godkjenne, vil vi returnere HTTP 200-statuskoden normalt, hvis den mislykkes Den returnerer HTTP 403-statuskoden.
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
Last inn HTTP-godkjenningsplugin
emqx_ctl plugins load emqx_auth_http
Valideringsresultater
Etter de ovennevnte operasjonene, må vi bruke MQTT-klienten til å koble til. Vi prøver å bruke den normale klienten og administrasjonsklienten til å koble til serveren for å se om resultatet er som forventet. Publiser og abonner deretter på emnet for å se om myndighetskontrollen oppfyller våre krav. Hvis det blir funnet et unntak, kan vi feilsøke serverkoden til alt er normalt.