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。
