Mosquitto: Autenticação API MQTT com Node-RED

Esta documentação faz parte do guia Autenticação API. Consulte o guia completo aqui: Como autenticar milhares de dispositivos usando uma API externa.

👋 Bem-vindo à documentação da Stackhero!

A Stackhero oferece-lhe um ambiente Mosquitto MQTT cloud totalmente gerido, concebido para garantir fiabilidade e flexibilidade:

  • Débito ilimitado de mensagens e transferências de dados, para que os seus workflows nunca encontrem limites artificiais.
  • Autenticação ilimitada de dispositivos através da sua própria API externa, facilitando o onboarding e a gestão de acessos.
  • ACLs avançadas para controlo detalhado sobre tópicos, utilizadores e ações.
  • Um domínio personalizado com HTTPS integrado para endpoints seguros e com a sua marca (por exemplo: https://mqtt.sua-empresa.com).
  • Atualizações sem complicações: aplique melhorias ou patches de segurança com um simples clique.
  • Desempenho consistente e segurança reforçada, com cada instância a funcionar numa infraestrutura privada e dedicada.

Acelere os seus projetos IoT e reduza o esforço operacional. Pode ter uma instância Mosquitto MQTT cloud hosting segura e pronta para produção em apenas alguns minutos.

O Stackhero para Node-RED inclui um servidor Mosquitto. No entanto, para uso avançado, é recomendado ter um serviço Mosquitto autónomo. Este exemplo mostra como usar o sistema de autenticação API com um serviço Mosquitto autónomo e um serviço Node-RED. Se usar o serviço Mosquitto incluído com o seu Node-RED, este guia não se aplica a si.

O Stackhero para Node-RED fornece um exemplo de conexão API MQTT no fluxo chamado "MQTT authentication". Este fluxo também é usado com o servidor Mosquitto integrado no Stackhero para Node-RED.

Para usar o Node-RED como ponto final de autenticação API, atualize a sua configuração Mosquitto da seguinte forma:

  1. Ative a opção API authentication.
  2. Defina o campo Host para o seu domínio Node-RED.
  3. Escolha HTTPS como Protocol e insira 443 para o Port.
  4. Especifique a User route como /mqttAuthentication/userGet.
  5. Especifique a ACLs route como /mqttAuthentication/aclCheck.

Para depuração, pode definir o "Authentication cache time" para 1 segundo. Uma vez que a sua configuração esteja a funcionar sem problemas, o valor recomendado é 30 segundos.

Exemplo de configuração MosquittoExemplo de configuração Mosquitto

Após atualizar a configuração Mosquitto, inicie o Node-RED e abra o fluxo MQTT authentication. Edite o nó Users para configurar as suas credenciais de utilizador. Os exemplos fornecidos incluem várias combinações de nomes de utilizador e palavras-passe. Sinta-se à vontade para adicionar quantos utilizadores forem necessários.

Fluxo de autenticação MQTT Node-REDFluxo de autenticação MQTT Node-RED