EMQX v5.9.1 CONNECT http认证,获取不到 用户属性
参考官方文档
配置 emqx.conf:
mqtt {
client_attrs_init = [
{
expression = “user_property.aaaa”
set_as_attr = “a0”
}
]
}
控制台 菜单路径:访问控制 → 客户端认证 → http
请求体json:
{
“a0”: “${client_attrs.a0}”,
“a1”: “${user_property.aaaa}”,
“username”: “${username}”,
“password”: “${password}”
}
使用 MQTTX 客户端,连接的 用户属性 设置 aaaa = a123,然后点击“连接”
使用 java实现的 http服务端:
@PostMapping
public Resp connect(@RequestBody Map map) {
log.info(JSON.toJSONString(map));
打印出来的日志为:
{“username”:“junli”, “password”:“a”,“a0”:“${client_attrs.a0}”,“a1”: “${user_property.aaaa}”}
对应的占位符 ${client_attrs.a0},${user_property.aaaa} 都没被替换掉