Skip to content

MQTT 连接认证 (mapi)

此接口由 EMQX Broker 内部调用,外部开发者无需直接调用。 EMQX 通过 Docker 内网访问 http://mapi:3009/mqtt/auth,对网关设备的 MQTT 连接进行认证。

EMQX 在网关连接时通过 HTTP Webhook 调用 mapi 认证:

POST http://mapi:3009/mqtt/auth
Content-Type: application/json

{ "username": "e95d207c83bd8d73", "password": "xxxxxxxx" }

响应:

json
{ "result": "allow" }   // 或 { "result": "deny" }

认证逻辑: 查 license_tb 表,校验 mq_pass 匹配且 status=1

凭证体系 (license_tb 表):

license_type含义target_id 关联说明
1设备device_tb.id网关/设备的 MQTT 凭证
2用户sh_user_tb.user_id小程序直连 MQTT 的用户凭证
10服务器hapi/mapi 自身连接 MQTT 的凭证

凭据由 hapi 在设备注册时自动创建。网关通过 get_gateway_mqtt_info_sn 接口获取自己的 mq_id / mq_pass