ブローカープロキシまたはウェブサーバーが必要です...
まず、特定のトピックを使用して2FAを実行するには、ブローカーに接続された認証サービスが絶対に必要です(/auth/RFID
、...)。その後、クライアントは情報を公開できます(以下を参照)。
私がここで見ることができる最初の問題は、このトピックにサブスクライブしている誰でもそのトピックの情報を読むことができるが、トピックをロックできることです!
その後、すべてのデバイスに情報を公開するように指示(強制)できます/proxy/mytopic
。mqttのclientId機能を使用すると、認証サービスは、このトピックから送信されたメッセージが以前に2FAを使用した認証済みデバイスからのものかどうかを確認/proxyout/mytopic
し、デバイスの代わりに独自のメッセージをペイロードのデバイスのIDで公開できます。
問題は、認証された場合にメッセージを受信できるデバイスを確認することです。これは、MQTTが大量公開に関するものだからです。認証サービスには、認証されたデバイスのリストがあり、それらが受信に適格であるかどうかを確認する必要があります。繰り返しますが、ペイロードの暗号化と復号化のデバイス側...
私のソリューションはMQTT機能よりも非常に過剰だと思います。したがって、ソケットまたはWebサーバーを使用する必要があります...