EMQX သည် HTTP connection connection authentification ကိုဖွင့်ပေးသည်

ကိုးကားစရာ

တရားဝင်ဝက်ဘ်ဆိုက် HTTP authentication ကို plugin ကို HTTP protocol ကို

HTTP authentication ကိုပလပ်အင်ကိုပြုပြင်ပါ

/etc/emqx/plugins/emqx_auth_http.conf ဖိုင်ကိုတည်းဖြတ်ရန် vi or vim ကိုသုံးပါ။ ဆက်သွယ်မှုစစ်မှန်ကြောင်းအတည်ပြု, အုပ်ချုပ်ရေးမှူး authentication ကိုပြုပြင်နှင့်အသီးသီး authentication ကိုထုတ်ဝေရန်နှင့် subscribe ။ ပြင်ဆင်မှုကိုပစ္စည်းလေးမျိုး၊ HTTP မျက်နှာပြင်လိပ်စာ၊ တောင်းဆိုမှုနည်းလမ်း၊ အကြောင်းအရာအမျိုးအစားနှင့်တောင်းဆိုမှု parameters များကိုခွဲခြားထားသည်။ Interface လိပ်စာသည် HTTP လိပ်စာကိုရည်ညွှန်းသည်။ ကျွန်ုပ်တို့သည်များသောအားဖြင့်တောင်းဆိုမှုနည်းလမ်းအတွက် GET သို့မဟုတ် POST ကိုသုံးပြီး POST ကိုအကြံပြုပါသည်။ အကြောင်းအရာအမျိုးအစားသည်များသောအားဖြင့် x-www-form-urlencoded ကိုအသုံးပြုသည်။ request parameter သည်အရေးအပါဆုံးဖြစ်သည်။ ဤနေရာတွင်ကျွန်ုပ်တို့သည်ခွင့်ပြုချက်ကိုဆုံးဖြတ်ရန်လိုအပ်သည့်အကြောင်းအရာအားလုံးကိုထည့်သွင်းရန်လိုအပ်သည်။ parameters အားလုံး၏အသေးစိတ်ဖော်ပြချက်ကိုကိုးကားထားသောပစ္စည်းများတွင်ကြည့်ရှုနိုင်သည်။ အောက်ဖော်ပြပါဥပမာတွင်ကျွန်ုပ်တို့၏ API ၏ ၀ န်ဆောင်မှုလိပ်စာသည်စုစည်းထားသည့် entry တစ်ခုဖြစ်သည်။ အမှန်တကယ်ခေါ်ဆိုမှုမျက်နှာပြင်ကို parameter ထဲမှလုပ်ဆောင်ချက်အားဖြင့်သတ်မှတ်သည်။ ဟုတ်ပါတယ်၊ ၎င်းကို url မှခွဲခြားနိုင်သည်၊ သင့်ကိုယ်ပိုင်အသုံးပြုမှုအရ၎င်းကိုသင်ညှိနိုင်သည်။ စီးပွားရေးဆိုင်ရာယုတ္တိဗေဒနှင့်နီးကပ်စွာချိတ်ဆက်ထားသောကြောင့်ဆာဗာကုဒ်ကိုဤဆောင်းပါးတွင်ဖော်ပြလိမ့်မည်မဟုတ်ပါ။ ယုတ္တိအားဖြင့်ဆုံးဖြတ်ချက်အပြီးတွင်ရလဒ်ကို EMQX သို့ပြန်ပို့ရန်ဖြစ်သည်။ ကျွန်ုပ်တို့သည်စစ်မှန်ကြောင်းအတည်ပြုမှုကိုအတည်ပြုလိုပါကကျွန်ုပ်တို့သည် HTTP 200 status code ကိုသာမန်အားဖြင့်ပြန်ပို့ပါမည်။ ၎င်းသည် 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 authentication ကို plugin ကို load

            emqx_ctl plugins load emqx_auth_http
        

သက်တမ်းရှိရလဒ်များ

အထက်ဖော်ပြပါလုပ်ငန်းများအပြီးတွင်ကျွန်ုပ်တို့သည်ချိတ်ဆက်ရန် MQTT သုံးစွဲသူများကိုအသုံးပြုရန်လိုအပ်သည်။ ရလဒ်မှာမျှော်လင့်ထားသည့်အတိုင်းမှန်မမှန်စစ်ဆေးရန် server နှင့်ချိတ်ဆက်ရန်ပုံမှန်သုံးစွဲသူနှင့်စီမံခန့်ခွဲရေး ၀ န်ဆောင်မှုကိုအသုံးပြုသည်။ ထို့နောက်အခွင့်အာဏာထိန်းချုပ်မှုသည်ကျွန်ုပ်တို့၏လိုအပ်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိသိရန်ခေါင်းစဉ်များကိုထုတ်ဝေပြီးစာရင်းသွင်းပါ။ ခြွင်းချက်တစ်ခုကိုတွေ့ရှိပါကပုံမှန်ကုဒ်မရောက်မီကျွန်ုပ်တို့သည်ဆာဗာကုဒ်ကို debug လုပ်နိုင်သည်။