Mosquitto: MQTT-API-Authentifizierung mit Node-RED

Diese Dokumentation ist Teil des API-Authentifizierung-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man Tausende von Geräten mit einer externen API authentifiziert.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet Ihnen eine vollständig verwaltete Mosquitto MQTT Cloud-Umgebung, die auf Zuverlässigkeit und Flexibilität ausgelegt ist:

  • Unbegrenzter Nachrichtendurchsatz und unbegrenzte Datenübertragungen, damit Ihre Workflows niemals auf künstliche Grenzen stoßen.
  • Unbegrenzte Geräteauthentifizierung über Ihre eigene externe API, um Onboarding und Zugriffsverwaltung nahtlos zu gestalten.
  • Erweiterte ACLs für eine feingranulare Steuerung von Topics, Benutzern und Aktionen.
  • Ein individueller Domainname mit integriertem HTTPS für sichere, markenkonforme Endpunkte (zum Beispiel: https://mqtt.your-company.com).
  • Updates ohne Aufwand: Verbesserungen oder Sicherheitspatches mit nur einem Klick anwenden.
  • Gleichbleibende Performance und hohe Sicherheit, da jede Instanz auf einer privaten, dedizierten Infrastruktur läuft.

Beschleunigen Sie Ihre IoT-Projekte und reduzieren Sie den Betriebsaufwand. Sie können in nur wenigen Minuten eine sichere, produktionsreife Mosquitto MQTT Cloud Hosting-Instanz bereitstellen.

Stackhero für Node-RED enthält einen Mosquitto-Server. Dennoch wird für die erweiterte Nutzung ein eigenständiger Mosquitto-Dienst empfohlen. Dieses Beispiel zeigt, wie das API-Authentifizierungssystem mit einem eigenständigen Mosquitto-Dienst und einem Node-RED-Dienst verwendet wird. Wenn Sie den mit Ihrem Node-RED enthaltenen Mosquitto-Dienst verwenden, gilt dieser Leitfaden nicht für Sie.

Stackhero für Node-RED bietet ein Beispiel für eine MQTT-API-Verbindung im Flow namens "MQTT authentication". Dieser Flow wird auch mit dem integrierten Mosquitto-Server in Stackhero für Node-RED verwendet.

Um Node-RED als API-Authentifizierungspunkt zu verwenden, aktualisieren Sie Ihre Mosquitto-Konfiguration wie folgt:

  1. Aktivieren Sie die Option API authentication.
  2. Setzen Sie das Feld Host auf Ihre Node-RED-Domain.
  3. Wählen Sie HTTPS als Protocol und geben Sie 443 für den Port ein.
  4. Geben Sie die User route als /mqttAuthentication/userGet an.
  5. Geben Sie die ACLs route als /mqttAuthentication/aclCheck an.

Für das Debugging können Sie die "Authentication cache time" auf 1 Sekunde setzen. Sobald Ihre Einrichtung reibungslos funktioniert, wird ein Wert von 30 Sekunden empfohlen.

Beispiel für Mosquitto-KonfigurationBeispiel für Mosquitto-Konfiguration

Nachdem Sie die Mosquitto-Konfiguration aktualisiert haben, starten Sie Node-RED und öffnen Sie den MQTT authentication-Flow. Bearbeiten Sie den Users-Knoten, um Ihre Benutzeranmeldedaten zu konfigurieren. Die bereitgestellten Beispiele enthalten mehrere Kombinationen von Benutzernamen und Passwörtern. Fügen Sie nach Bedarf so viele Benutzer hinzu.

Node-RED MQTT-Authentifizierungs-FlowNode-RED MQTT-Authentifizierungs-Flow