EMQX mở chế độ xác minh ủy quyền kết nối HTTP
Tài liệu tham khảo
Trang web chính thức Plugin xác thực HTTP Giao thức HTTPĐịnh cấu hình plugin xác thực HTTP
Sử dụng vi hoặc vim để chỉnh sửa tệp /etc/emqx/plugins/emqx_auth_http.conf. Định cấu hình xác thực kết nối, xác thực quản trị viên, xác thực xuất bản và đăng ký tương ứng. Cấu hình được chia thành bốn mục, địa chỉ giao diện HTTP, phương thức yêu cầu, loại nội dung và các tham số yêu cầu. Địa chỉ giao diện đề cập đến một địa chỉ HTTP. Chúng tôi thường sử dụng GET hoặc POST cho phương thức yêu cầu và POST được khuyến nghị. Loại nội dung thường sử dụng x-www-form-urlencoded. Tham số yêu cầu là quan trọng nhất, ở đây chúng ta cần đưa tất cả nội dung cần thiết để phán đoán ủy quyền Phần mô tả chi tiết tất cả các tham số có thể xem trong tài liệu tham khảo Trong ví dụ dưới đây, địa chỉ dịch vụ của API của chúng tôi là một mục nhập thống nhất. Giao diện cuộc gọi thực tế được chỉ định bởi hành động trong tham số. Tất nhiên, chúng tôi cũng có thể phân biệt nó với url và bạn có thể điều chỉnh nó theo cách sử dụng của riêng mình. Mã máy chủ sẽ không được mô tả trong bài viết này, vì nó được tích hợp chặt chẽ với logic nghiệp vụ. Việc chúng ta phải làm là trả lại kết quả cho EMQX sau khi phán đoán logic. Nếu chúng ta muốn vượt qua xác thực, chúng ta sẽ trả về mã trạng thái HTTP 200 bình thường, nếu nó không thành công Nó trả về mã trạng thái HTTP 403.
auth.http.auth_req = http://127.0.0.1:80/
auth.http.auth_req.method = post
auth.http.auth_req.content_type = x-www-form-urlencoded
auth.http.auth_req.params = client_id=%c,username=%u,password=%P,action=emqx_auth:auth_req
auth.http.super_req = http://127.0.0.1:80/
auth.http.super_req.method = post
auth.http.super_req.content_type = x-www-form-urlencoded
auth.http.super_req.params = client_id=%c,username=%u,action=emqx_auth:super_req
auth.http.acl_req = http://127.0.0.1:80/
auth.http.acl_req.method = post
auth.http.acl_req.content_type = x-www-form-urlencoded
auth.http.acl_req.params = access=%A,username=%u,client_id=%c,ip=%a,topic=%t,action=emqx_auth:acl_req
Tải plugin xác thực HTTP
emqx_ctl plugins load emqx_auth_http
Kết quả xác thực
Sau các thao tác trên chúng ta cần sử dụng MQTT client để kết nối, chúng ta thử sử dụng client thông thường và client quản lý để kết nối với server xem kết quả có được như mong muốn không. Sau đó xuất bản và đăng ký các chủ đề để xem việc kiểm soát quyền hạn có đáp ứng yêu cầu của chúng tôi hay không. Nếu một ngoại lệ được tìm thấy, chúng tôi có thể gỡ lỗi mã máy chủ cho đến khi mọi thứ bình thường.