emqx_auth_username 它通过比对每个终端的接入的 usernamepassword 与 EMQ X 中存储的是否一致来实现终端接入的控制。其功能逻辑如下:

emqx_auth_username 目前版本仅提供了 连接认证 的功能。且提供了 CLIREST 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
}

EMQX_AUTH_USERNAME 使用的更多相关文章

  1. CentOS7.0安装EMQ代理服务

    CentOS7.0安装EMQ代理服务 安装文件下载 官网 : https://www.emqx.io/cn/ 下载地址: https://www.emqx.io/cn/downloads 选择需要的版 ...

  2. emqx的acl.conf使用

    allow_anonymous=true就不说了,打开这个就像开了挂 现在讨论一下allow_anonymous=false,这样的话你会发现,client连接不上了 后来发现连接和权限 是两个事.. ...

随机推荐

  1. 攻防世界之Web_unserialize3

    题目: 直接给源码,审计代码,又是一题反序列化的.传送门:反序列化漏洞 [原理] PHP反序列化漏洞:执行unserialize()时,先会调用__wakeup(). 当序列化字符串中属性值个数大于属 ...

  2. jmeter分布式导致重复登录的问题、以及写txt、csv、统计行数

    经常收到微信好友的各种问题咨询,今天分享一个比较有代表性的,希望对大家有所帮助. 一位微信好友的提问 问题如下: 问题分析 先简单介绍下服务端的处理逻辑,关于登录,服务端的逻辑一般是:校验用户名.密码 ...

  3. 【整理】Linux:set -eux

    参数 参考原文:https://blog.csdn.net/textdemo123/article/details/100694371 我们经常见到很多设立了脚本 打头会写如下 set -e 或者:s ...

  4. simple js

    simple js 题目描述:小宁发现了一个网页,但却一直输不对密码.(Flag格式为 Cyberpeace{xxxxxxxxx} ) 打开题目后,有一个Enter password框,要求输入密码, ...

  5. springboot项目 @Scheduled注解 实现定时任务

    使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一.基于注解(@Scheduled) 二.基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实 ...

  6. C# Control.BeginInvoke、synchronizationcontext.post、delegate.BeginInvoke的运行原理

    背景 用到的知识点 1.windows消息机制 备注:鼠标点击.键盘等事件产生的消息要放入系统消息队列,然后再分配到应用程序线程消息队列.软件PostMessage的消息直接进入应用程序线程消息队列, ...

  7. 【C# TAP 异步编程】四、SynchronizationContext 同步上下文|ExecutionContext

    一.同步上下文(SynchronizationContext)概述 由来 多线程程序在.net框架出现之前就已经存在了.这些程序通常需要一个线程将一个工作单元传递给另一个线程.Windows程序以消息 ...

  8. 开发Windows程序的三种方式

    软件开发方式一共有三种:SDK方式.MFC开发方式.托管环境的开发都是基于消息的开发 SDK方式 原装api的调用SDK方式使用C语言和Windows应用程序编程接口(Windows API)来开发W ...

  9. (第一章第四部分)TensorFlow框架之张量

    系列博客链接: (一)TensorFlow框架介绍:https://www.cnblogs.com/kongweisi/p/11038395.html (二)TensorFlow框架之图与Tensor ...

  10. Django的ORM补充

    Django的ORM补充 参考文档:https://www.cnblogs.com/wupeiqi/articles/6216618.html 1.查询性能补充 1.1 select_related ...