你好,客户端认证占位符${password} 需要在数据库表中添加password字段吗?还是会取password_hash的值,不用另外再加字段password?
emqx 认证为了安全,默认都是不存原始的 password(也不推荐在生产环境上用 plain)
你需要使用对应的算法把 passoword 加密后存到 password_hash字段(名字都是自己取的,只是我们一般都叫这个字段为 password_hash)中。
emqx 收到原始的 password 时,会根据你配置的算法算出一个 password_hash,和数据库里面的这个字段(查询语句中查出对应的字段)做对比,如果相等就是对的。
明白。谢谢。我想通过clientid+username的形式进行查询,语句配置: SELECT password_hash, salt FROM mqtt_user where clientid=${clientid} AND username = ${username} LIMIT 1; 同时数据库表中添加字段clientid,是这样吗?