emqx_auth_username 它通過比對每個終端的接入的 username
和 password
與 EMQ X 中存儲的是否一致來實現終端接入的控制。其功能邏輯如下:
emqx_auth_username 目前版本僅提供了 連接認證 的功能。且提供了 CLI 和 REST API 來進行管理當前集群中的 Username 庫
插件配置項說明
在這里給出了其 3.1.0 版本默認的配置文件。其內容非常的簡單,主要包括:
1.Password 密文加密類型
終端在連接時,必須采用對用加密類型的密文才可以成功連接
## Password hash. ## ## Value: plain | md5 | sha | sha256 auth.user.password_hash = sha256
Username 管理
CLI 命令
在成功啟動 emqx_auth_username
該插件時,會向 EMQ X
注冊一些 CLI 命令以在運行時管理 username
:
$ ./bin/emqx_ctl users
users list
users add <Username> <Password>
users update <Username> <NewPassword>
users del <Username>
REST API
在成功啟動 emqx_auth_username
該插件時,會開啟對應的 REST API 用於在運行時管理 username
獲取所有的 username
# Request GET api/v3/auth_username # Response { "code": 0, "data": ["username1"] }
添加一個 username:
# Request POST api/v3/auth_username { "username": "some_name", "password": "password" } # Response { "code": 0 }
更新某 username 的密碼 :
# Request PUT api/v3/auth_username/$NAME { "password": "password" } # Response { "code", 0 }
查看某 username 的密碼 (密文):
# Request GET api/v3/auth_username/$NAME # Response { "code": 0, "data": { "username": "some_username", "password": "hashed_password" } }
刪除某 username:
# Request DELETE api/v3/auth_username/$NAME # Response { "code": 0 }