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 კლიენტი. ჩვენ ვცდილობთ გამოვიყენოთ ჩვეულებრივი კლიენტი და მენეჯმენტის სერვერი სერვერთან დასაკავშირებლად, თუ რამდენად შედეგია მოსალოდნელი. შემდეგ გამოაქვეყნეთ და გამოიწერეთ თემები, თუ რამდენად აკმაყოფილებს ხელისუფლების კონტროლი ჩვენს მოთხოვნებს. გამონაკლისის აღმოჩენის შემთხვევაში, სერვერის კოდის შეცდომა შეგვიძლია, სანამ ყველაფერი ნორმაში არ იქნება.