EMQX开源版redis 用户登陆验证设置

试用开源版中,dashboard里面设置用户认证模式为mongodb, 密码方式md5,加盐方式为prefix。其他认证模式都禁止了。

dashboard里面的命令是: HMGET mqtt_user:${username} password_hash salt

如果我想加一个clientid的验证(即username通过密码验证,clientid验证这个设备是否存在), 这个命令如何设置。

与此同时,redis对应记录怎么设置。谢谢!

我是想做成一个userid对应N个clientid的形式, 即一个登陆账号下面挂很多设备。

你是想问 redis 认证还是 mongodb 认证?

Redis 认证:请参看一下这个文档,里面有一个 HSET 指令的示例: 使用 Redis 进行密码认证 | EMQX 5.2 文档

MongoDB 认证:使用 MongoDB 进行密码认证 | EMQX 5.2 文档

但是 redis 认证目前不支持 ${clientid} 占位符,你可以用 MongoDB 认证来做,Filter 那里填:

{
  "username": "${username}",
  "clientid": "${clientid}"
}

这样查询的 MongoDB 时候会通过这两个字段作为组合条件查询。

OMG, 我写错了,是redis