认证clientid认证

环境信息

  • EMQX 版本:emqx4.3.5
  • 操作系统及版本:centos7.5
  • 其他

问题描述

启动clientid 认证无效, username认证可以使用。

配置文件及日志

你遇到的问题跟我刚好相反,我是username认证无效,clientid可以认证。
试一下用emqx eval ‘ets:tab2list(emqx_user).’ 查看一下本地存储的认证数据,是不是clientid的密码根本没被存成sha256格式?

好像是加载了,是不是不能同时使用这两种方式呢?
image

两种都是支持的,验证时会使用登录时的用户名、clientid 取出对应的认证设置,然后通过设置里面的密码和登录密码进行比对。
注意,登录时的密码算法要和设置在 auth 里面的一致,其次不要 username 和 clientid 混用,但却在 auth 设置了不同的密码。
可以先将日志等级设置为 debug, 在验证失败的地方会输出验证时相关的信息,先按照日志内容核对下看看

错误日志:


使用username是可以连接成功的
python代码:

报错的原因是登录的密码和 auth 里面的密码不匹配,因为安全原因,在日志输出时屏蔽了密码,所以无法通过日志判断是不是密码问题。
你那边如果只是测试环境,尝试清空下 emqx 的 data 目录,重启后通过 emqx_ctl 添加用户和密码,也试一试其他密码算法看看,我这边也检查下代码。