EMQX HTTP қосылымын авторизациялау режимін ашады

Анықтама

Ресми сайт HTTP аутентификация плагині HTTP протоколы

HTTP аутентификация плагинін теңшеңіз

/Etc/emqx/plugins/emqx_auth_http.conf файлын өңдеу үшін vi немесе vim пайдаланыңыз. Байланыстың аутентификациясын, әкімшінің аутентификациясын конфигурациялаңыз және сәйкесінше жариялаңыз және жазылыңыз. Конфигурация төрт элементке бөлінеді, HTTP интерфейс мекен-жайы, сұрау әдісі, мазмұн түрі және сұраныс параметрлері. Интерфейс мекен-жайы HTTP мекен-жайына сілтеме жасайды. Біз әдетте сұрау әдісі үшін GET немесе POST-ты қолданамыз, ал POST ұсынылады. Мазмұн түрі әдетте x-www-form-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 клиентін қосу үшін пайдалануымыз керек.Нәтиже күткендей болатынын көру үшін серверге қосылу үшін біз әдеттегі клиент пен басқару клиентін қолданамыз. Содан кейін авторизацияның бақылауы біздің талаптарға сәйкес келетіндігін тексеру үшін тақырыптарды жариялаңыз және жазылыңыз. Егер ерекше жағдай табылса, біз сервер коды бәрі қалыпты болғанша түзете аламыз.