HTTP Server

简介: HTTP Server

前言

Emqx v4.x 版本,使用外部 http 做验证是通过插件的形式来实现的。到了 v5.x 的版本,将其内置了,并且将连接认证和授权区分开来,拆分成访问控制——> 认证访问控制——>授权两个部分。


配置

打开 18083 后台管理页面,选择左侧菜单访问控制——>认证,点击右上角的 创建 按钮,选择认证方式为 Password-Based

选择认证方式.png


点击下一步按钮,选择数据源为 HTTP Server 服务。

选择数据源.png


点击下一步按钮,开始配置, HTTP 的请求方式最好使用POST ,其余配置很简单,见文知意,这里主要介绍 Body 配置。默认的 Body 配置如下所示:

{
  "username": "${username}",
  "password": "${password}"
}点击复制复制失败已复制


其中 ${username}${password} 为插值内容,所有可选的插值如下所示:

插值 字段 含义
${clientid} clientid mqtt 客户端连接 emqx 时填写的 clientid 内容
${username} 用户名 mqtt 客户端连接 emqx 时填写的 username 内容
${password} 密码 mqtt 客户端连接 emqx 时填写的 password 内容


在认证的时候,最好将这三个字段都发送给认证服务,因此 Body 配置如下所示:

{
  "clientid": "${clientid}",
  "username": "${username}",
  "password": "${password}"
}点击复制复制失败已复制


服务器处理

如果认证成功,允许连接,那么 HTTP 的返回状态码一定200204其余状态码均认为是认证失败,使用缺省值ignore 按照认证链继续执行认证。


返回内容要使用 JSON 格式,字段描述如下:

字段 含义 是否必传 类型 默认值
result 认证结果 "allow" | "deny" | "ignore" "ignore"
is_superuser 是否为超级用户 boolean false


注意

NestJS 对于 Post 方法默认的返回状态码是 201需要手动指定状态码,否则会导致 Emqx 判断为认证失败!!!

目录
相关文章
|
Apache
关于Apache HTTP Serve你应该知道的!
关于Apache HTTP Serve你应该知道的!
413 0
|
16天前
|
安全 网络协议 应用服务中间件
AJP Connector:深入解析及在Apache HTTP Server中的应用
【9月更文挑战第6天】在Java Web应用开发中,Tomcat作为广泛使用的Servlet容器,经常与Apache HTTP Server结合使用,以提供高效、稳定的Web服务。而AJP Connector(Apache JServ Protocol Connector)作为连接Tomcat和Apache HTTP Server的重要桥梁,扮演着至关重要的角色
40 2
|
3月前
|
网络协议
使用`http.server`模块搭建简单HTTP服务器
使用`http.server`模块搭建简单HTTP服务器
|
5月前
|
应用服务中间件 网络安全 nginx
Client sent an HTTP request to an HTTPS server
Client sent an HTTP request to an HTTPS server
586 0
|
5月前
|
JavaScript
http-server实现本地服务器
使用Node.js的http-server模块创建本地服务器:先确保安装Node.js和npm,然后在命令行中安装http-server模块,运行`npm install http-server -g`。接着,切换到目标文件夹并启动服务器,输入`http-server`或带端口号的`http-server -p 3000`。最后,通过`http://localhost:8080`(或指定端口)访问服务器。
|
12月前
|
前端开发
64 # 实现一个 http-server
64 # 实现一个 http-server
38 0
|
11月前
|
Docker 容器
http: server gave HTTP response to HTTPS client解决方案
http: server gave HTTP response to HTTPS client解决方案
703 0
|
资源调度 JavaScript 前端开发
使用http-server开启一个本地服务器
使用http-server开启一个本地服务器
209 0
|
JSON 数据安全/隐私保护 数据格式
HTTP Server
HTTP Server
100 0
HTTP Server
HTTP client
HTTP client
143 0