EMQX, HTTP bağlantı yetkilendirme doğrulama modunu açar
Referans
Resmi internet sitesi HTTP kimlik doğrulama eklentisi HTTP protokolüHTTP kimlik doğrulama eklentisini yapılandırın
/Etc/emqx/plugins/emqx_auth_http.conf dosyasını düzenlemek için vi veya vim kullanın. Bağlantı kimlik doğrulamasını, yönetici kimlik doğrulamasını yapılandırın ve kimlik doğrulamasını yayınlayın ve abone olun. Yapılandırma dört öğeye bölünmüştür: HTTP arabirim adresi, istek yöntemi, içerik türü ve istek parametreleri. Arayüz adresi bir HTTP adresini ifade eder. İstek yöntemi için genellikle GET veya POST kullanırız ve POST önerilir. İçerik türü genellikle x-www-form-urlencoded kullanır. İstek parametresi en önemlisidir.Buraya yetkilendirmeyi değerlendirmek için ihtiyacımız olan tüm içeriği eklememiz gerekir.Tüm parametrelerin ayrıntılı açıklaması referans materyallerinde görülebilir. Aşağıdaki örneğimizde, API'mizin hizmet adresi birleşik bir giriştir. Asıl çağrı arayüzü parametredeki eylem ile belirtilir.Elbette onu url'den de ayırt edebiliriz ve kendi kullanımınıza göre ayarlayabilirsiniz. Sunucu kodu, iş mantığı ile yakından entegre olduğu için bu makalede açıklanmayacaktır.Yapmamız gereken, mantıksal değerlendirmeden sonra sonucu EMQX'e döndürmektir. Kimlik doğrulamasını geçmek istiyorsak, başarısız olursa, HTTP 200 durum kodunu normal olarak döndüreceğiz HTTP 403 durum kodunu döndürür.
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 kimlik doğrulama eklentisini yükle
emqx_ctl plugins load emqx_auth_http
Doğrulama sonuçları
Yukarıdaki işlemlerden sonra, bağlanmak için MQTT istemcisini kullanmamız gerekiyor.Sonucunun beklendiği gibi olup olmadığını görmek için sunucuya bağlanmak için normal istemciyi ve yönetim istemcisini kullanmaya çalışıyoruz. Ardından, yetki kontrolünün gereksinimlerimizi karşılayıp karşılamadığını görmek için konuları yayınlayın ve abone olun. Bir istisna bulunursa, her şey normale dönene kadar sunucu kodunda hata ayıklayabiliriz.