EMQX membuka mod pengesahan kebenaran sambungan HTTP
Rujukan
Laman web rasmi Pemalam pengesahan HTTP Protokol HTTPKonfigurasikan pemalam pengesahan HTTP
Gunakan vi atau vim untuk mengedit fail /etc/emqx/plugins/emqx_auth_http.conf. Konfigurasikan pengesahan sambungan, pengesahan pentadbir, dan terbitkan dan langganan pengesahan masing-masing. Konfigurasi terbahagi kepada empat item, alamat antara muka HTTP, metode permintaan, jenis kandungan, dan parameter permintaan. Alamat antara muka merujuk kepada alamat HTTP. Kami biasanya menggunakan GET atau POST untuk kaedah permintaan, dan POST disyorkan. Jenis kandungan biasanya menggunakan x-www-form-urlencoded. Parameter permintaan adalah yang paling penting. Di sini kita perlu memasukkan semua kandungan yang kita perlukan untuk menilai kebenaran. Penerangan terperinci tentang semua parameter dapat dilihat dalam bahan rujukan. Dalam contoh kami di bawah, alamat perkhidmatan API kami adalah entri yang disatukan. Antara muka panggilan sebenar ditentukan oleh tindakan dalam parameter. Sudah tentu, kami juga dapat membezakannya dari url, dan anda boleh menyesuaikannya mengikut penggunaan anda sendiri. Kod pelayan tidak akan dijelaskan dalam artikel ini, kerana ia berkait rapat dengan logik perniagaan. Apa yang harus kita lakukan adalah mengembalikan hasilnya ke EMQX setelah penilaian logik. Sekiranya kita ingin mengesahkan, kita akan mengembalikan kod status HTTP 200 secara normal, jika gagal Ia mengembalikan kod 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
Muatkan pemalam pengesahan HTTP
emqx_ctl plugins load emqx_auth_http
Hasil pengesahan
Selepas operasi di atas, kita perlu menggunakan klien MQTT untuk menyambung.Kami cuba menggunakan klien biasa dan klien pengurusan untuk menyambung ke pelayan untuk melihat apakah hasilnya seperti yang diharapkan. Kemudian terbitkan dan langgan topik untuk melihat apakah kawalan pihak berkuasa memenuhi keperluan kami. Sekiranya terdapat pengecualian, kami dapat menyahpepijat kod pelayan sehingga semuanya normal.