关于HTTP 认证,三个接口的返回值格式问题

auth {

  http_auth = {
    auth_req {
      url = "http://127.0.0.1:80/mqtt/auth"
      method = "POST"
      headers.content-type = "application/x-www-form-urlencoded"
      params = {clientid = "%c", username = "%u", password = "%P"}
    }

    super_req {
      url = "http://127.0.0.1:80/mqtt/superuser"
      method = "POST"
      headers.content-type = "application/x-www-form-urlencoded"
      params = {clientid = "%c", username = "%u", password = "%P"}
    }

    acl_req {
      url = "http://127.0.0.1:8991/mqtt/acl"
      method = "POST"
      headers.content-type = "application/x-www-form-urlencoded"
      params = {clientid = "%c", username = "%u", access = "%A", ipaddr = "%a", topic = "%t", mountpoint = "%m"}
    }

    timeout = 5s
    connect_timeout = 5s
    pool_size = 32
  }

}

版本: nanomq-0.23.8-full docker版

整个auth 模块的完整配置如上

其中 auth_req ,super_req ,acl_req 这三个接口的返回格式, 文档中没有找到,是下面的这样吗

{
  "result": "allow|deny"
} 

试了下一直连接不上,不知道是什么原因

客户端报错: Error: Connection refused: Not authorized

服务端日志如下:

2025-06-12 15:08:09 [23] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/transport/mqtt/broker_tcp.c:1658 tcptran_pipe_start: tcptran_pipe_start!
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/transport/mqtt/broker_tcp.c:301 tcptran_pipe_nego_cb: start tcptran_pipe_nego_cb max len 12 pipe_addr 0x7901d8001d90 gotrx 0 wantrx 12

2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/transport/mqtt/broker_tcp.c:301 tcptran_pipe_nego_cb: start tcptran_pipe_nego_cb max len 12 pipe_addr 0x7901d8001d90 gotrx 5 wantrx 44

2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:565 conn_handler: remaining length: 42
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:576 conn_handler: pro_name: MQTT
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:579 conn_handler: pro_ver: 5
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:593 conn_handler: conn flag:c0
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:611 conn_handler: Decoding MQTT V5 Properties
2025-06-12 15:08:09 [16] DEBUG /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:622 conn_handler: remain len 42 max len 44 prop len 5 pos 12
2025-06-12 15:08:09 [16] DEBUG /home/runner/work/nanomq/nanomq/nng/src/supplemental/mqtt/mqtt_codec.c:4041 decode_buf_properties: remain len 42 prop len 5 curpos 0x79022400874d endpos 0x790224008752
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/supplemental/mqtt/mqtt_codec.c:3706 property_parse: id: 17, value: 7200 (U32)
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:635 conn_handler: pos after property: [18]
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:641 conn_handler: id is mqttx_b62e673e
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:658 conn_handler: clientid: [mqttx_b62e673e] [14]
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:659 conn_handler: pos after clientid: [34]
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:731 conn_handler: username: aaa 3
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:733 conn_handler: pos after username: [39]
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:753 conn_handler: password: aaa [3]
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:755 conn_handler: pos after password: [44]
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:757 conn_handler: pos: [44] len: [42]
2025-06-12 15:08:09 [16] INFO  /home/runner/work/nanomq/nanomq/nng/src/sp/transport/mqtt/broker_tcp.c:409 tcptran_pipe_nego_cb: max_packet_size of mqttx_b62e673e is 10485760
2025-06-12 15:08:09 [16] DEBUG /home/runner/work/nanomq/nanomq/nng/src/sp/transport/mqtt/broker_tcp.c:172 tcptran_pipe_init: change p_id by hashing 888968214 rv 0
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/transport/mqtt/broker_tcp.c:179 tcptran_pipe_init:  ************ tcptran_pipe_init [0x7901d8001d90] ************ 
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/nmq_mqtt.c:651 nano_pipe_init: ##########nano_pipe_init###############
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/nmq_mqtt.c:691 nano_pipe_start:  ########## nano_pipe_start ########## 
2025-06-12 15:08:09 [16] DEBUG /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/nmq_mqtt.c:723 nano_pipe_start: client connected! addr [139.227.84.218 port [18472]

2025-06-12 15:08:09 [16] INFO  /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/nmq_mqtt.c:748 nano_pipe_start: resuming session 888968214 with 888968214
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/mqtt_parser.c:1283 verify_connect: no valid entry in auth list
2025-06-12 15:08:09 [16] ERROR /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/auth_http.c:303 send_request: Write req failed: Peer could not be authenticated
2025-06-12 15:08:09 [16] WARN  /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/nmq_mqtt.c:800 nano_pipe_start: Invalid auth info.
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/nmq_mqtt.c:883 nano_pipe_close:  ############## nano_pipe_close [0x7901fc00a160] ############## 
2025-06-12 15:08:09 [16] INFO  /home/runner/work/nanomq/nanomq/nng/src/sp/protocol/mqtt/nmq_mqtt.c:891 nano_pipe_close: mqttx_b62e673e pipe close!
2025-06-12 15:08:09 [16] TRACE /home/runner/work/nanomq/nanomq/nng/src/sp/transport/mqtt/broker_tcp.c:144 tcptran_pipe_close: tcptran_pipe_close

已解决

1 个赞