EMQX abre o modo de verificación de autorización de conexión HTTP

Referencia

Páxina web oficial Complemento de autenticación HTTP Protocolo HTTP

Configure o complemento de autenticación HTTP

Use vi ou vim para editar o ficheiro /etc/emqx/plugins/emqx_auth_http.conf. Configure a autenticación de conexión, a autenticación de administrador e publique e subscriba a autenticación respectivamente. A configuración divídese en catro elementos, enderezo da interface HTTP, método de solicitude, tipo de contido e parámetros de solicitude. O enderezo da interface fai referencia a un enderezo HTTP. Normalmente usamos GET ou POST para o método de solicitude e recoméndase POST. O tipo de contido normalmente usa x-www-form-urlencoded. O parámetro de solicitude é o máis importante. Aquí necesitamos incluír todo o contido que necesitamos para xulgar a autorización. A descrición detallada de todos os parámetros pódese ver nos materiais de referencia. No noso exemplo a continuación, o enderezo do servizo da nosa API é unha entrada unificada. A interface do chamado real especifícase mediante a acción do parámetro. Por suposto, tamén podemos distinguila da url e pódela axustar segundo o seu propio uso. O código do servidor non se describirá neste artigo porque está moi integrado coa lóxica empresarial. O que temos que facer é devolver o resultado a EMQX despois do xuízo lóxico. Se queremos pasar a autenticación, devolveremos o código de estado HTTP 200 normalmente, se falla Devolve o código de estado 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
        

Cargue o complemento de autenticación HTTP

            emqx_ctl plugins load emqx_auth_http
        

Resultados da validación

Despois das operacións anteriores, necesitamos usar o cliente MQTT para conectarnos. Tentamos usar o cliente normal e o cliente de administración para conectarnos ao servidor para ver se o resultado é o esperado. A continuación, publique e subscríbase a temas para ver se o control de autoridade cumpre os nosos requisitos. Se se atopa unha excepción, podemos depurar o código do servidor ata que todo sexa normal.