EMQXはHTTP接続認証検証モードを開きます
参照
公式ウェブサイト HTTP認証プラグイン HTTPプロトコルHTTP認証プラグインを構成する
viまたはvimを使用して、/ etc / emqx / plugins /emqx_auth_http.confファイルを編集します。接続認証、管理者認証、および公開認証とサブスクライブ認証をそれぞれ構成します。構成は、HTTPインターフェイスアドレス、要求メソッド、コンテンツタイプ、および要求パラメーターの4つの項目に分けられます。インターフェイスアドレスはHTTPアドレスを参照します。通常、リクエストメソッドにはGETまたはPOSTを使用しますが、POSTをお勧めします。コンテンツタイプは通常、x-www-form-urlencodedを使用します。リクエストパラメータが最も重要です。ここでは、承認を判断するために必要なすべてのコンテンツを含める必要があります。すべてのパラメータの詳細な説明は、参考資料で確認できます。以下の例では、APIのサービスアドレスは統合されたエントリです。実際の呼び出しインターフェイスは、パラメータのアクションによって指定されます。もちろん、URLと区別することもでき、独自の使用法に応じて調整できます。サーバーコードはビジネスロジックと緊密に統合されているため、この記事では説明しません。論理的な判断の後に結果をEMQXに返す必要があります。認証に合格する場合は、HTTP 200ステータスコードが失敗した場合は通常どおりに返されます。 HTTP403ステータスコードを返します。
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クライアントを使用して接続する必要があります。通常のクライアントと管理クライアントを使用してサーバーに接続し、期待どおりの結果が得られるかどうかを確認します。次に、トピックを公開およびサブスクライブして、権限制御が要件を満たしているかどうかを確認します。例外が見つかった場合は、すべてが正常になるまでサーバーコードをデバッグできます。