在客户端成功链接到EMQX后,客户端会再发送一个身份校验的topic ,需要Emqx同步回复,该如何处理,

环境

  • EMQX 版本:5.0.14
  • 操作系统版本:centos7

在客户端成功链接到EMQX后,客户端会再发送一个身份校验的topic ,需要Emqx同步回复,该如何处理,

你好,方便更详细地说明吗?你是指发送消息还是订阅主题?为什么需要 EMQX 回复?

就是在设备与Emqx建立链接之后

设备往topic :client/deviceid 发送消息 如下

设备发送登录报文:

{“Type”:100,

“SN”:“BT106002020JNDL190903353”,

“devType”:100,

“ICCID”:“89860412101840497987”,

“IMEI”:“869075032517460”,

“SoftVer”:“V1.0.1”,

“HardVer”:“V1.0.2”,

“vendor”:“tp”,

“txnNo”:1586248543,

“MD”:“xxxxxxxxxxxxxxxx”}
需要服务器回复:

{“Type”:101,

“SN”:“BT106002020JNDL190903353”,

“Ack”:0,

“txnNo”:1586248543}

可以看得到我的回复的吧

EMQX 可以基于 CONNECT 报文进行身份验证,但不支持基于 PUBLISH 报文进行身份验证。想要实现你的效果,你需要在 EMQX 后端再部署一个身份验证服务,然后订阅你的登录消息,验证完成后向 EMQX 发送验证结果消息,然后由 EMQX 转发给你的设备。

我可以使用多语言-钩子扩展 中的Grpc 方式来实现吗

可以吗

也不行,你可以在回调中进行身份校验,但是无法实现返回消息给客户端。