一、Emqx认证方式介绍:
根据官网文档介绍:emqx支持内置数据库Mnesia (用户名/Client ID)认证,使用配置文件与 EMQ X 内置数据库提供认证数据源,通过 HTTP API 进行管理,足够简单轻量。
EMQ X 支持使用内置数据源(文件、内置数据库)、JWT、外部主流数据库和自定义 HTTP API 作为身份认证数据源。
连接数据源、进行认证逻辑通过插件实现的,每个插件对应一种认证方式,使用前需要启用相应的插件。
客户端连接时插件通过检查其 username/clientid 和 password 是否与指定数据源的信息一致来实现对客户端的身份认证。
二、开启Mnesia认证
1、修改etc/emqx.conf
# etc/emqx.conf
## Value: true | false
allow_anonymous = true
2、修改etc/plugins/emqx_auth_mnesia.conf
# etc/plugins/emqx_auth_mnesia.conf
## clientid 认证数据
auth.client.1.clientid = admin
auth.client.1.password = public
## username 认证数据
auth.user.2.username = admin
auth.user.2.password = public
3、开启插件
4、重启emqx
5、验证
- 未使用用户名密码连接服务报认证失败。
- 使用用户名密码之后连接成功。