Mosquitto: Uwierzytelnianie API MQTT z Node-RED

Ta dokumentacja jest częścią przewodnika Uwierzytelnianie API. Pełny przewodnik znajdziesz tutaj: Jak uwierzytelnić tysiące urządzeń za pomocą zewnętrznego API.

👋 Witamy w dokumentacji Stackhero!

Stackhero zapewnia w pełni zarządzane środowisko Mosquitto MQTT cloud, zaprojektowane z myślą o niezawodności i elastyczności:

  • Nielimitowana przepustowość wiadomości i transfery danych, dzięki czemu Twoje procesy nigdy nie napotkają sztucznych ograniczeń.
  • Nielimitowana autoryzacja urządzeń poprzez własne zewnętrzne API, co umożliwia płynne wdrażanie i zarządzanie dostępem.
  • Zaawansowane ACLs zapewniające precyzyjną kontrolę nad tematami, użytkownikami i działaniami.
  • Własna nazwa domeny z wbudowanym HTTPS dla bezpiecznych, markowych endpointów (na przykład: https://mqtt.twoja-firma.com).
  • Aktualizacje bez wysiłku: wprowadzaj ulepszenia lub poprawki bezpieczeństwa jednym kliknięciem.
  • Stała wydajność i wysoki poziom bezpieczeństwa – każda instancja działa na prywatnej, dedykowanej infrastrukturze.

Przyspiesz swoje projekty IoT i ogranicz koszty operacyjne. Bezpieczną, gotową do produkcji instancję Mosquitto MQTT cloud hosting możesz uruchomić w zaledwie kilka minut.

Stackhero dla Node-RED zawiera serwer Mosquitto. Niemniej jednak, dla zaawansowanego użytkowania, zaleca się posiadanie samodzielnej usługi Mosquitto. Ten przykład pokazuje, jak używać systemu uwierzytelniania API z samodzielną usługą Mosquitto i usługą Node-RED. Jeśli używasz usługi Mosquitto dołączonej do Twojego Node-RED, ten przewodnik nie dotyczy Ciebie.

Stackhero dla Node-RED zapewnia przykład połączenia API MQTT w przepływie nazwanym "MQTT authentication". Ten przepływ jest również używany z zintegrowanym serwerem Mosquitto w Stackhero dla Node-RED.

Aby użyć Node-RED jako punktu końcowego uwierzytelniania API, zaktualizuj konfigurację Mosquitto w następujący sposób:

  1. Włącz opcję API authentication.
  2. Ustaw pole Host na swoją domenę Node-RED.
  3. Wybierz HTTPS jako Protocol i wpisz 443 dla Port.
  4. Określ User route jako /mqttAuthentication/userGet.
  5. Określ ACLs route jako /mqttAuthentication/aclCheck.

Do debugowania możesz ustawić "Authentication cache time" na 1 sekundę. Gdy Twoja konfiguracja działa płynnie, zalecana wartość to 30 sekund.

Przykład konfiguracji MosquittoPrzykład konfiguracji Mosquitto

Po zaktualizowaniu konfiguracji Mosquitto uruchom Node-RED i otwórz przepływ MQTT authentication. Edytuj węzeł Users, aby skonfigurować swoje poświadczenia użytkownika. Dostarczone przykłady zawierają kilka kombinacji nazw użytkowników i haseł. Możesz dodać tylu użytkowników, ile potrzebujesz.

Przepływ uwierzytelniania MQTT Node-REDPrzepływ uwierzytelniania MQTT Node-RED