EMQX ხსნის HTTP კავშირის ავტორიზაციის შემოწმების რეჟიმს

ცნობარი

Ოფიციალური ვებ - გვერდი HTTP ავტორიზაციის მოდული HTTP პროტოკოლი

HTTP ავთენტიფიკაციის მოდულის კონფიგურაცია

გამოიყენეთ vi ან vim /etc/emqx/plugins/emqx_auth_http.conf ფაილის რედაქტირებისთვის. დააკონფიგურირეთ კავშირის ავტორიზაცია, ადმინისტრატორის ავტორიზაცია და შესაბამისად გამოაქვეყნეთ და გამოიწერეთ ავტორიზაცია. კონფიგურაცია იყოფა ოთხ ნაწილად, HTTP ინტერფეისის მისამართი, მოთხოვნის მეთოდი, შინაარსის ტიპი და მოთხოვნის პარამეტრები. ინტერფეისის მისამართი ეხება HTTP მისამართს. ჩვენ, როგორც წესი, ვიყენებთ GET ან POST მოთხოვნის მეთოდისთვის და რეკომენდებულია POST. შინაარსის ტიპი ჩვეულებრივ იყენებს x-www- ფორმაში urlencoded. მოთხოვნის პარამეტრი ყველაზე მნიშვნელოვანია. აქ უნდა ჩავდოთ მთელი შინაარსი, რაც ავტორიზაციის განსასაზღვრად გვჭირდება. ყველა პარამეტრის დეტალური აღწერა შეგიძლიათ იხილოთ მითითებულ მასალებში ქვემოთ მოყვანილ მაგალითში, ჩვენი API მომსახურების მისამართი არის ერთიანი ჩანაწერი. ზარის რეალური ინტერფეისი მითითებულია პარამეტრის მოქმედებით. რა თქმა უნდა, ჩვენ ასევე შეგვიძლია განვასხვავოთ იგი url- ისგან და მისი რეგულირება შეგიძლიათ თქვენივე დანიშნულების შესაბამისად. სერვერის კოდი ამ სტატიაში არ იქნება აღწერილი, რადგან ის მჭიდროდაა ინტეგრირებული ბიზნეს ლოგიკაში. რა უნდა გავაკეთოთ, ლოგიკური განსჯის შემდეგ შედეგი დავაბრუნოთ EMQX- ს. თუ ავტორიზაციის გადაცემა გვსურს, ჩვეულებრივ დავაბრუნებთ HTTP 200 სტატუსის კოდს, თუ იგი ვერ მოხერხდება იგი უბრუნებს 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
        

ჩატვირთეთ HTTP ავთენტიფიკაციის მოდული

            emqx_ctl plugins load emqx_auth_http
        

ვალიდაციის შედეგები

ზემოხსენებული ოპერაციების შემდეგ, დასაკავშირებლად უნდა გამოვიყენოთ MQTT კლიენტი. ჩვენ ვცდილობთ გამოვიყენოთ ჩვეულებრივი კლიენტი და მენეჯმენტის სერვერი სერვერთან დასაკავშირებლად, თუ რამდენად შედეგია მოსალოდნელი. შემდეგ გამოაქვეყნეთ და გამოიწერეთ თემები, თუ რამდენად აკმაყოფილებს ხელისუფლების კონტროლი ჩვენს მოთხოვნებს. გამონაკლისის აღმოჩენის შემთხვევაში, სერვერის კოდის შეცდომა შეგვიძლია, სანამ ყველაფერი ნორმაში არ იქნება.