Mosquitto: Autenticazione API MQTT con Node-RED

Questa documentazione fa parte della guida Autenticazione API. Consulta la guida completa qui: Come autenticare migliaia di dispositivi utilizzando un'API esterna.

👋 Benvenuto nella documentazione di Stackhero!

Stackhero offre un ambiente Mosquitto MQTT cloud completamente gestito, progettato per garantire affidabilità e flessibilità:

  • Throughput illimitato per i messaggi e trasferimenti di dati, così i tuoi workflow non incontreranno mai limiti artificiali.
  • Autenticazione illimitata dei dispositivi tramite la tua API esterna, per un onboarding e una gestione degli accessi senza interruzioni.
  • ACL avanzate per un controllo dettagliato su topic, utenti e azioni.
  • Un nome di dominio personalizzato con HTTPS integrato per endpoint sicuri e brandizzati (ad esempio: https://mqtt.tua-azienda.com).
  • Aggiornamenti senza complicazioni: applica miglioramenti o patch di sicurezza con un solo clic.
  • Performance costante e sicurezza elevata, con ogni istanza eseguita su un'infrastruttura privata e dedicata.

Accelera i tuoi progetti IoT e riduci il carico operativo. Puoi avere un'istanza Mosquitto MQTT cloud hosting sicura e pronta per la produzione in pochi minuti.

Stackhero per Node-RED include un server Mosquitto. Tuttavia, per un uso avanzato, è consigliato avere un servizio Mosquitto autonomo. Questo esempio mostra come utilizzare il sistema di autenticazione API con un servizio Mosquitto autonomo e un servizio Node-RED. Se utilizzi il servizio Mosquitto incluso con il tuo Node-RED, questa guida non si applica a te.

Stackhero per Node-RED fornisce un esempio di connessione API MQTT nel flusso denominato "MQTT authentication". Questo flusso è utilizzato anche con il server Mosquitto integrato in Stackhero per Node-RED.

Per utilizzare Node-RED come endpoint di autenticazione API, aggiorna la configurazione di Mosquitto come segue:

  1. Abilita l'opzione API authentication.
  2. Imposta il campo Host sul tuo dominio Node-RED.
  3. Scegli HTTPS come Protocol e inserisci 443 per il Port.
  4. Specifica la User route come /mqttAuthentication/userGet.
  5. Specifica la ACLs route come /mqttAuthentication/aclCheck.

Per il debug, potresti impostare il "Authentication cache time" a 1 secondo. Una volta che la tua configurazione è operativa, il valore consigliato è di 30 secondi.

Esempio di configurazione MosquittoEsempio di configurazione Mosquitto

Dopo aver aggiornato la configurazione di Mosquitto, avvia Node-RED e apri il flusso MQTT authentication. Modifica il nodo Users per configurare le tue credenziali utente. Gli esempi forniti includono diverse combinazioni di nomi utente e password. Sentiti libero di aggiungere quanti utenti siano necessari.

Flusso di autenticazione MQTT Node-REDFlusso di autenticazione MQTT Node-RED