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

Referencia

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

Configurar el complemento de autenticación HTTP

Utilice vi o vim para editar el archivo /etc/emqx/plugins/emqx_auth_http.conf. Configure la autenticación de conexión, la autenticación del administrador y la autenticación de publicación y suscripción, respectivamente. La configuración se divide en cuatro elementos, dirección de interfaz HTTP, método de solicitud, tipo de contenido y parámetros de solicitud. La dirección de la interfaz se refiere a una dirección HTTP. Usualmente usamos GET o POST para el método de solicitud, y se recomienda POST. El tipo de contenido suele utilizar x-www-form-urlencoded. El parámetro de solicitud es el más importante, aquí debemos incluir todo el contenido que necesitamos para juzgar la autorización, la descripción detallada de todos los parámetros se puede ver en los materiales de referencia. En nuestro ejemplo a continuación, la dirección de servicio de nuestra API es una entrada unificada. La interfaz de llamada real se especifica mediante la acción en el parámetro. Por supuesto, también podemos distinguirla de la URL y usted puede ajustarla según su propio uso. El código del servidor no se describirá en este artículo, porque está estrechamente integrado con la lógica empresarial. Lo que tenemos que hacer es devolver el resultado a EMQX después de un juicio lógico. Si queremos pasar la autenticación, devolveremos el código de estado HTTP 200 normalmente, si falla Devuelve el 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
        

Cargar el complemento de autenticación HTTP

            emqx_ctl plugins load emqx_auth_http
        

Resultados de la validación

Después de las operaciones anteriores, necesitamos usar el cliente MQTT para conectarnos. Intentamos usar el cliente normal y el cliente de administración para conectarnos al servidor para ver si el resultado es el esperado. Luego publique y suscríbase temas para ver si el control de autoridad cumple con nuestros requisitos. Si se encuentra una excepción, podemos depurar el código del servidor hasta que todo sea normal.