Mosquitto: Authentification MQTT via API avec Node-RED

Cette documentation fait partie du guide Authentification API. Consultez le guide complet ici : Comment authentifier des milliers d'appareils via une API externe.

👋 Bienvenue sur la documentation de Stackhero !

Stackhero vous propose un environnement Mosquitto MQTT cloud entièrement managé, pensé pour la fiabilité et la flexibilité :

  • Débit illimité pour les messages et transferts de données, afin que vos workflows ne rencontrent jamais de limites artificielles.
  • Authentification illimitée de vos appareils via votre propre API externe, pour un onboarding et une gestion des accès simplifiés.
  • ACLs avancées pour un contrôle précis des topics, des utilisateurs et des actions.
  • Un nom de domaine personnalisé avec HTTPS intégré pour des endpoints sécurisés et à votre image (par exemple : https://mqtt.votre-entreprise.com).
  • Mises à jour sans effort : appliquez les améliorations ou correctifs de sécurité en un clic.
  • Performance constante et sécurité renforcée, chaque instance fonctionnant sur une infrastructure privée et dédiée.

Accélérez vos projets IoT et réduisez la charge opérationnelle. Vous pouvez disposer d'une instance Mosquitto MQTT cloud hosting sécurisée et prête pour la production en seulement quelques minutes.

Stackhero for Node-RED inclut un serveur Mosquitto. Cependant, pour des usages avancés, il est recommandé d'utiliser un service Mosquitto dédié. Cet exemple montre comment utiliser le système d'authentification API avec un service Mosquitto autonome et un service Node-RED. Si vous utilisez le service Mosquitto intégré à votre Node-RED, ce guide ne vous concerne pas.

Stackhero for Node-RED propose un exemple de connexion MQTT via API dans le flow nommé "MQTT authentication". Ce flow est également utilisé avec le serveur Mosquitto intégré à Stackhero for Node-RED.

Pour utiliser Node-RED comme endpoint d'authentification API, modifiez la configuration de Mosquitto comme suit :

  1. Activez l'option API authentication.
  2. Renseignez le champ Host avec le domaine de votre Node-RED.
  3. Choisissez HTTPS comme Protocol et indiquez 443 pour le Port.
  4. Indiquez la User route comme /mqttAuthentication/userGet.
  5. Indiquez la ACLs route comme /mqttAuthentication/aclCheck.

Pour le debug, vous pouvez définir le "Authentication cache time" à 1 seconde. Une fois votre configuration validée, la valeur recommandée est 30 secondes.

Exemple de configuration MosquittoExemple de configuration Mosquitto

Après avoir mis à jour la configuration de Mosquitto, lancez Node-RED et ouvrez le flow MQTT authentication. Modifiez le noeud Users pour configurer vos identifiants utilisateurs. Les exemples fournis incluent plusieurs combinaisons de noms d'utilisateur et de mots de passe. N'hésitez pas à ajouter autant d'utilisateurs que nécessaire.

Flow d'authentification MQTT dans Node-REDFlow d'authentification MQTT dans Node-RED