EMQX нь HTTP холболтын зөвшөөрлийг баталгаажуулах горимыг нээдэг
Лавлагаа
Албан ёсны цахим хуудас HTTP баталгаажуулалтын залгаас HTTP протоколHTTP баталгаажуулалтын залгаасыг тохируулах
/Etc/emqx/plugins/emqx_auth_http.conf файлыг засахын тулд vi эсвэл vim ашиглана уу. Холболтын баталгаажуулалт, администраторын баталгаажуулалтыг тохируулах, нэвтрэлтийг баталгаажуулж, захиалах. Тохиргоог HTTP интерфэйсийн хаяг, хүсэлтийн арга, агуулгын төрөл, хүсэлтийн параметр гэсэн дөрвөн зүйлд хуваадаг. Интерфэйсийн хаяг нь HTTP хаягийг хэлнэ. Бид хүсэлтийн аргын хувьд ихэвчлэн GET эсвэл POST ашигладаг бөгөөд POST хийхийг зөвлөж байна. Агуулгын төрөл нь ихэвчлэн x-www-form-urlencoded ашигладаг. Хүсэлтийн параметр нь хамгийн чухал юм. Энд бид зөвшөөрлийг шүүхэд шаардлагатай бүх агуулгыг багтаах хэрэгтэй.Бүх параметрүүдийн дэлгэрэнгүй тайлбарыг лавлах материалаас үзэх боломжтой. Доорх жишээн дээр манай API-ийн үйлчилгээний хаяг нь нэгдсэн оруулга юм. Бодит дуудлагын интерфейсийг тухайн параметр дэх үйлдлээр тодорхойлдог. Серверийн кодыг энэ нийтлэлд тайлбарлахгүй, учир нь энэ нь бизнесийн логиктой нягт уялдаатай юм. Бидний хийх ёстой зүйл бол логик шүүлт хийсний дараа үр дүнг 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 клиентийг ашиглан холбогдох шаардлагатай бөгөөд үр дүн нь хүлээгдэж буй эсэхийг шалгахын тулд ердийн клиент болон менежментийн клиентийг ашиглан сервертэй холбогдохыг хичээдэг. Дараа нь эрх бүхий хяналт нь бидний шаардлагыг хангаж байгаа эсэхийг мэдэхийн тулд сэдвүүдийг нийтэлж, захиалаарай. Хэрэв үл хамаарах зүйл олдвол бид бүх зүйлийг хэвийн болтол серверийн кодыг дибаг хийх боломжтой.