EMQX obre el mode de verificació d'autorització de connexió HTTP

Referència

Pàgina web oficial Complement d'autenticació HTTP Protocol HTTP

Configureu el connector d’autenticació HTTP

Utilitzeu vi o vim per editar el fitxer /etc/emqx/plugins/emqx_auth_http.conf. Configureu l'autenticació de connexió, l'autenticació d'administrador i publiqueu i subscriviu l'autenticació respectivament. La configuració es divideix en quatre elements, adreça de la interfície HTTP, mètode de sol·licitud, tipus de contingut i paràmetres de sol·licitud. L'adreça de la interfície fa referència a una adreça HTTP. Normalment fem servir GET o POST per al mètode de sol·licitud i es recomana POST. El tipus de contingut sol utilitzar x-www-form-urlencoded. El paràmetre de sol·licitud és el més important. Aquí hem d'incloure tot el contingut que necessitem per jutjar l'autorització. La descripció detallada de tots els paràmetres es pot veure als materials de referència. Al nostre exemple següent, l'adreça de servei de la nostra API és una entrada unificada. La interfície de trucada real s'especifica mitjançant l'acció del paràmetre. Per descomptat, també la podem distingir de l'URL i la podeu ajustar segons el vostre ús. El codi del servidor no es descriurà en aquest article, perquè està estretament integrat amb la lògica empresarial. El que hem de fer és retornar el resultat a EMQX després del judici lògic. Si volem passar l'autenticació, tornarem el codi d'estat HTTP 200 normalment, si falla Retorna el codi d'estat 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
        

Carregueu el connector d’autenticació HTTP

            emqx_ctl plugins load emqx_auth_http
        

Resultats de la validació

Després de les operacions anteriors, hem d’utilitzar el client MQTT per connectar-nos. Intentem utilitzar el client normal i el client de gestió per connectar-nos al servidor per veure si el resultat és l’esperat. A continuació, publiqueu i subscriviu-vos temes per veure si el control d'autoritat compleix els nostres requisits. Si es troba una excepció, podem depurar el codi del servidor fins que tot sigui normal.