mqtt(emq)HTTP的ACL认证配置及业务场景测试

mqtt(emq)HTTP的ACL认证配置及业务场景测试,第1张

https://www.jianshu.com/p/88acccf43931

上篇中已经实践了与pg库的ACL验证配置

这次试试HTTP方式

有三个请求地址需要配置

auth:身份认证

superuser:超级管理员认证

acl:权限认证

在阅读该教程之前,假定你已经了解 MQTT 、 EMQ X 的简单知识。

emqx_auth_http 它将每个终端的 接入认证 访问控制 事件抛给用户自己的 WebServer 以实现接入认证和ACL鉴权的功能。其架构逻辑如下:

emqx_auth_http 主要处理的事情有:*

实际上,在 EMQX 的集群里面,emqx_auth_http 对于用户的 Web Services 来讲只是一个简单的、无状态的 HTTP Client,他只是将 EMQX 内部的登录认证、和ACL控制的请求转发到用户的 Web Services,并做一定逻辑处理而已。

在这里给出了其3.1.0版本的默认配置文件,虽然看着内容比较多,其实只是配置了 三个 HTTP Request 的参数

其中,我们以认证为例,其每项分别代表了:

而对于其中 params 项中,支持各种参数占位符,其含义见配置文件注释。例如:

其代表的含义是,auth_req 包括三个参数,这个三个参数的 key 分别是 clientid username password 其值分别会替换为终端在接入时其真实的 ClientId Username Password

默认的所有配置如下:

在了解了如何配置 emqx_auth_http 插件后,剩下关键的是 Webserver 如何返回成功或者失败。

认证成功:

忽略此次认证

错误

确认为超级用户:

非超级用户

允许PUBLISH/SUBSCRIBE:

忽略此次鉴权:

拒绝该次PUBLISH/SUBSCRIBE:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11370019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存