上篇中已经实践了与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:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)