Mosquitto: MQTT API認証の仕組み
このドキュメントはAPI認証ガイドの一部です。完全なガイドはこちらからご覧いただけます:外部APIを使用して数千のデバイスを認証する方法。
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供する、すぐに使えるMosquitto MQTTクラウドソリューションを提供しています。
- 無制限のメッセージ交換と転送。
- 外部APIを介したデバイスの無制限認証。
- トピック、ユーザー、アクションに対する高度なACL。
- HTTPSで保護されたカスタマイズ可能なドメイン名(例:https://mqtt.your-company.com)。
- ワンクリックで簡単に更新。
- プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ。
時間を節約し、生活を簡素化:StackheroのMosquitto MQTTクラウドホスティングソリューションを試すのに5分しかかかりません!
外部API認証の使用は、20台以上のIoTデバイスを持つ場合や、詳細なトピックACL管理が必要な場合に特に有用です。
デバイスがMQTTに接続すると、MosquittoはHTTP POSTリクエストをAPIに送信します。このリクエストには、デバイスのユーザー名とパスワードを含むJSONペイロードが含まれています。APIがHTTPステータスコード200を返すと、デバイスは認証されます。200以外のステータスコード(例えば401)は、デバイスのアクセス拒否を意味します。
ACLの検証中に、4つのパラメータが送信されます:username、clientid、topic、およびacc。APIは、usernameがtopicでaccによって定義された操作を実行することが許可されているかを確認する必要があります。accパラメータは次のように定義されます:
- 読み取りアクセス (1)
- 書き込みアクセス (2)
- 読み取りおよび書き込みアクセス (3)
- 購読アクセス (4)
例えば、ユーザーuserAがトピックsensors/temperaturesを購読しようとする場合、APIは次のJSONを受け取ります:
{
"username": "userA",
"clientid": "userA",
"topic": "sensors/temperatures",
"acc": 4
}
APIを介したユーザー認証を使用する場合でも、Stackheroダッシュボードでユーザーを手動で定義することができます。 この場合、手動で定義されたユーザーが優先されます。