EMQX apre la modalità di verifica dell'autorizzazione della connessione HTTP

Riferimento

Sito ufficiale Plugin di autenticazione HTTP Protocollo HTTP

Configurare il plug-in di autenticazione HTTP

Utilizzare vi o vim per modificare il file /etc/emqx/plugins/emqx_auth_http.conf. Configurare rispettivamente l'autenticazione della connessione, l'autenticazione dell'amministratore e l'autenticazione di pubblicazione e sottoscrizione. La configurazione è suddivisa in quattro elementi, indirizzo dell'interfaccia HTTP, metodo di richiesta, tipo di contenuto e parametri di richiesta. L'indirizzo dell'interfaccia si riferisce a un indirizzo HTTP. Di solito usiamo GET o POST per il metodo di richiesta e POST è consigliato. Il tipo di contenuto di solito utilizza x-www-form-urlencoded. Il parametro di richiesta è il più importante. Qui dobbiamo includere tutto il contenuto di cui abbiamo bisogno per giudicare l'autorizzazione. La descrizione dettagliata di tutti i parametri può essere visualizzata nei materiali di riferimento. Nel nostro esempio qui sotto, l'indirizzo di servizio della nostra API è una voce unificata. L'interfaccia di chiamata effettiva è specificata dall'azione nel parametro. Naturalmente, possiamo anche distinguerla dall'URL e puoi regolarla in base al tuo utilizzo. Il codice del server non verrà descritto in questo articolo, perché è strettamente integrato con la logica aziendale. Quello che dobbiamo fare è restituire il risultato a EMQX dopo un giudizio logico. Se vogliamo passare l'autenticazione, restituiremo normalmente il codice di stato HTTP 200, se fallisce Restituisce il codice di stato 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
        

Carica il plugin di autenticazione HTTP

            emqx_ctl plugins load emqx_auth_http
        

Risultati della convalida

Dopo le operazioni di cui sopra, dobbiamo utilizzare il client MQTT per connetterci, proviamo a utilizzare il client normale e il client di gestione per connetterci al server per vedere se il risultato è come previsto. Quindi pubblica e iscriviti all'argomento per vedere se l'authority control soddisfa i nostri requisiti. Se viene rilevata un'eccezione, possiamo eseguire il debug del codice del server finché tutto non è normale.