前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Client ID认证「建议收藏」

Client ID认证「建议收藏」

作者头像
全栈程序员站长
发布2022-09-07 14:03:29
8630
发布2022-09-07 14:03:29
举报

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

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

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

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

本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
API 网关
腾讯云 API 网关(API Gateway)是腾讯云推出的一种 API 托管服务,能提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com