Client ID认证「建议收藏」

Client ID认证「建议收藏」1.插件ClientID认证使用配置文件预设客户端ClientID与密码,支持通过HTTPAPI管理认证数据。ClientID认证不依赖外部数据源,使用上足够简单轻量,使用该种认

大家好,又见面了,我是你们的朋友全栈君。

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认证「建议收藏」

  用户名随便输一个,可以随便填写

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154562.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • golang map 有序_有序化最重要的手法是

    golang map 有序_有序化最重要的手法是要使得Map有序化,我们必须要对map的key进行排序,我们可以使用sort.Strings函数对字符串进行排序。packagemainimport( "fmt" "sort")funcmain(){ slice1:=map[string]int{ "wangxiaoming":12, "liming":11, "fenglingling"…

    2022年9月16日
    2
  • 【转载】Asp.Net页面生命周期

    【转载】Asp.Net页面生命周期

    2021年11月21日
    35
  • 阅读Java菜鸟教程总结(一):基础篇1[通俗易懂]

    阅读Java菜鸟教程总结(一):基础篇1[通俗易懂]一、Java的主函数细节String[]args表示从控制台接收参数。main方法声明为static的原因是为了让主函数不依赖类的对象,在类加载的时候主函数也随着被加载到主存中。三、Java编程的三个特性三、设置环境变量时,三个变量的含义常见的DOS命令操作:四、关键字和保留字Java中默认的带有小数的是双精度的,如果要声明为float…

    2022年6月28日
    28
  • 折扣计算公式「建议收藏」

    折扣计算公式「建议收藏」$price=$row['price'];//原价$nowprice=$row['nowprice'];//现价$jiesheng=$price-$nowpri

    2022年8月5日
    6
  • Java中的Scanner用法解析

    Java中的Scanner用法解析一、Scanner类简介Java5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。简介Scanner类是java.util包中的一个类作用常用于控制台的输入,当需要使用控制台输入时即可调用这个类二、Scanner类的用法使用方法1、首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联…

    2022年7月9日
    19
  • VS2013下串口数据char型转COleVariant问题[通俗易懂]

    VS2013下串口数据char型转COleVariant问题[通俗易懂]在串口需要发送一串字符数组buf[]时,COleVariant(buf)强制转换失效(在vc6.0环境中是允许的)。在VS2013环境下需要借助CByteArray类型进行中间的装换,实现代码如下:首先定义:CByteArraym_array;将char型数组中的数值赋值到m_array中 for(inti=0;im_array[i]=sbuf[i]; 

    2022年7月18日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号