Client ID认证「建议收藏」(七大主流的HttpClient程序比较)
1.插件
Client ID 認證使用配置文件預設客戶端Client ID 與密碼,支持通過 HTTP API 管理認證數據。 Client ID 認證不依賴外部數據源,使用上足夠簡單輕量,使用該種認證方式時需要開啟 emqx_auth_clientid插件,直接在DashBoard中開啟即可,
2.哈希方法
Client ID 認證默認使用 sha256 進行密碼哈希加密,可在 etc/plugins/emqx_auth_clientid.conf 中更改:
# etc/plugins/emqx_auth_clientid.conf ## Value: plain | md5 | sha | sha256 auth.client.password_hash = sha256
配置哈希方法后,新增的預設認證數據與通過 HTTP API 添加的認證數據將以哈希密文存儲在 EMQ X 內置數據庫中。
3.預設認證數據
可以通過配置文件預設認證數據,編輯配置文件: etc/plugins/emqx_auth_clientid.conf
## Value: plain | md5 | sha | sha256 auth.client.password_hash = sha256
插件啟動時將讀取預設認證數據并加載到 EMQ X 內置數據庫中,節點上的認證數據會在此階段同步至集群中。 預設認證數據在配置文件中使用了明文密碼,出于安全性與可維護性考慮應當避免使用該功能。
4.HTTP API 管理認證
我們使用VSCode來通過EMQ X的API來添加和查看Client ID的認證數據。
1:添加認證數據API 定義: POST api/v4/auth_clientid{ “clientid”: “emqx_c”, “password”: “emqx_p”} ####添加clientId和密碼##### POST http://{{hostname}}:{{port}}/api/v4/auth_clientid HTTP/1.1 Content-Type: {{contentType}} Authorization: Basic {{userName}}:{{password}} {“clientid”: “emq-client1″,”password”: “123456”}
使用 POST 請求添加 clientid 為 emq-client1 password 為 123456 的認證信息,返回信息中 code = 0 即為成功。
2:查看已經添加的認證數據API 定義: GET api/v4/auth_clientid
#############獲取所有詳細信息######## GET http://{{hostname}}:{{port}}/api/v4/auth_clientid HTTP/1.1 Content-Type: {{contentType}} Authorization: Basic {{userName}}:{{password}}
3:更改指定 Client ID 的密碼API 定義: PUT api/v4/auth_clientid/${clientid}{ “password”:”emqx_new_p”} 指定 Client ID,傳遞新密碼進行更改,再次連接時需要使用新密碼進行連接:
#############更改指定 Client ID 的密碼######## PUT http://{{hostname}}:{{port}}/api/v4/auth_clientid/emq-client1 HTTP/1.1 Content-Type: {{contentType}} Authorization: Basic {{userName}}:{{password}} { ”password”: “654321” }
4:查看指定 Client ID 信息API 定義: GET api/v4/auth_clientid/${clientid} 指定 Client ID,查看相關 Client ID、密碼信息,注意此處返回的密碼是使用配置文件指定哈希方式加密后的密碼:
#############獲取指定ClientId詳細信息######## GET http://{{hostname}}:{{port}}/api/v4/auth_clientid/emq-client1 HTTP/1.1 Content-Type: {{contentType}} Authorization: Basic {{userName}}:{{password}}
5:刪除認證數據API 定義: DELETE api/v4/auth_clientid/${clientid} 刪除指定 Client ID:
#############刪除指定的client信息######## DELETE http://{{hostname}}:{{port}}/api/v4/auth_clientid/emq-client1 HTTP/1.1 Content-Type: {{contentType}} Authorization: Basic {{userName}}:{{password}}
5MQTTX客戶端驗證
用戶名隨便輸一個,可以隨便填寫
總結
以上是生活随笔為你收集整理的Client ID认证「建议收藏」(七大主流的HttpClient程序比较)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给windows 98 客户虚拟机安装V
- 下一篇: 梦见妯娌是什么意思 梦到妯娌是什么预兆