Mosquitto: Hoe MQTT API-authenticatie werkt

Deze documentatie maakt deel uit van de API-authenticatie-gids. Bekijk de volledige gids hier: Hoe duizenden apparaten te authenticeren met een externe API.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Mosquitto MQTT cloud oplossing die tal van voordelen biedt, waaronder:

  • Onbeperkte uitwisseling en overdracht van berichten.
  • Onbeperkte apparaatverificatie via een externe API.
  • Geavanceerde ACL's op onderwerpen, gebruikers en acties.
  • Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://mqtt.uw-bedrijf.com).
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Mosquitto MQTT cloud hosting oplossing van Stackhero te proberen!

Het gebruik van externe API-authenticatie is bijzonder nuttig wanneer u meer dan 20 IoT-apparaten heeft of wanneer u gedetailleerd onderwerp ACL-beheer nodig heeft.

Wanneer een apparaat verbinding maakt met MQTT, stuurt Mosquitto een HTTP POST-verzoek naar uw API. Het verzoek bevat een JSON-payload met de gebruikersnaam en het wachtwoord van het apparaat. Als uw API een HTTP-statuscode 200 retourneert, is het apparaat geautoriseerd. Elke andere statuscode dan 200 (zoals 401) resulteert in het weigeren van toegang voor het apparaat.

Tijdens ACL-validatie worden vier parameters verzonden: username, clientid, topic, en acc. Uw API moet verifiëren dat de username is toegestaan om de operatie gedefinieerd door acc op het topic uit te voeren. De acc-parameter is als volgt gedefinieerd:

  1. lees toegang (1)
  2. schrijf toegang (2)
  3. lees- en schrijf toegang (3)
  4. abonneer toegang (4)

Bijvoorbeeld, als de gebruiker userA probeert zich te abonneren op het onderwerp sensors/temperatures, ontvangt uw API de volgende JSON:

{
  "username": "userA",
  "clientid": "userA",
  "topic": "sensors/temperatures",
  "acc": 4
}

Wanneer u gebruikersauthenticatie via een API gebruikt, kunt u nog steeds gebruikers handmatig definiëren in het Stackhero-dashboard. In dat geval krijgen de handmatig gedefinieerde gebruikers voorrang.