EMQX muka modeu verifikasi otorisasina sambungan HTTP

Rujukan

Halaman wéb resmi Plugin auténtikasi HTTP Protokol HTTP

Konpigurasikeun plugin auténtikasi HTTP

Anggo vi atanapi vim pikeun ngédit file /etc/emqx/plugins/emqx_auth_http.conf. Konpigurasikeun auténtikasi sambungan, auténtikasi administrator, sareng nyebarkeun sareng ngalanggan auténtikasi masing-masing. Konfigurasi dibagi kana opat barang, alamat panganteur HTTP, metode pamundut, jinis eusi, sareng parameter pamundut. Alamat panganteur nuduhkeun alamat HTTP. Kami biasana nganggo GET atanapi POST pikeun metode pamundut, sareng POST disarankeun. Jenis eusi biasana nganggo x-www-form-urlencoded. Paraméter pamundut paling penting. Di dieu urang kedah ngalebetkeun sadaya eusi anu urang butuhkeun pikeun nangtoskeun otorisasina. Pedaran lengkep sadaya parameter tiasa ditingal dina bahan rujukan. Dina conto urang di handap ieu, alamat jasa API kami nyaéta éntri anu dihijikeun. Antarmuka panggero anu leres ditetepkeun ku aksi dina parameter. Tangtosna, urang ogé tiasa ngabédakeun éta tina url, sareng anjeun tiasa nyaluyukeunana numutkeun panggunaan anjeun nyalira. Kodeu server moal dijelaskeun dina tulisan ieu, sabab éta raket ngahijikeun sareng logika bisnis. Anu kedah urang lakukeun nyaéta balikkeun hasilna ka EMQX saatos kaputusan logis. Upami urang hoyong lulus oténtikasi, urang bakal balikkeun kodeu status HTTP 200 sacara normal, upami éta gagal Éta mulihkeun kodeu status 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
        

Muat plugin auténtikasi HTTP

            emqx_ctl plugins load emqx_auth_http
        

Hasil validasi

Saatos operasi di luhur, urang kedah nganggo klien MQTT pikeun nyambungkeun. Kami nyobian nganggo klien normal sareng klien manajemén pikeun nyambung ka sérver pikeun ningali hasil na sapertos anu diarepkeun. Teras nyebarkeun sareng ngalanggan topik pikeun ningali naha kontrol otoritas nyumponan sarat urang. Upami aya pengecualian, urang tiasa debug kode server dugi sadayana normal.