Tous les produits
Search
Centre de documentation

ApsaraMQ for MQTT:Authentification par jeton

Dernière mise à jour :Aug 11, 2026

ApsaraMQ for MQTT utilise l'authentification par jeton pour accorder un contrôle d'accès temporaire et granulaire à un client unique pour une ressource spécifique. Votre serveur d'application demande des jetons au broker MQTT et les distribue aux clients gérés par votre système de comptes local.

Terminologie

Terme

Description

Jeton (identifiant temporaire)

Identifiant temporaire délivré par ApsaraMQ for MQTT qui autorise un client unique à accéder à des ressources spécifiques.

Serveur d'application

Serveur qui gère les comptes locaux et demande ou gère les jetons pour les clients MQTT.

Broker ApsaraMQ for MQTT

Serveur ApsaraMQ for MQTT qui authentifie les autorisations, traite les demandes de jetons provenant des serveurs d'application, et envoie et reçoit des messages.

Processus d'authentification

L'authentification par jeton nécessite plus de configuration que l'authentification par signature. Déployez votre serveur d'application comme indiqué dans la figure suivante et assurez-vous que votre client MQTT peut interagir avec lui pour obtenir et actualiser les jetons lors de l'initialisation.

Figure 1. Processus d'authentification token_process_new

Le processus d'authentification se déroule comme suit :

  1. Le client MQTT démarre et se connecte au serveur d'application pour s'authentifier.

  2. Le client demande des autorisations pour un topic spécifique au serveur d'application.

  3. Le serveur d'application vérifie les autorisations du client pour le topic. Si la vérification réussit, il demande un jeton au broker ApsaraMQ for MQTT.

  4. Le broker ApsaraMQ for MQTT valide la demande et renvoie le jeton.

  5. Le serveur d'application met le jeton en cache et l'associe aux autorisations accordées. La mise en cache offre les avantages suivants :

    • Si le client se reconnecte avec les mêmes autorisations, le serveur renvoie le jeton mis en cache au lieu d'en demander un nouveau.

    • Si le broker est temporairement indisponible, le serveur renvoie le jeton mis en cache pour assurer la reprise après sinistre locale.

  6. Le client transmet le jeton dans ses paramètres de connexion et se connecte au broker. Une fois l'authentification réussie, le client peut envoyer et recevoir des messages.

  7. Le client envoie et reçoit des messages. Lorsque le broker détecte un jeton expiré, il déconnecte le client. Ce dernier doit alors demander un nouveau jeton.

Prérequis côté client

  • Obtenez le jeton et son heure d'expiration auprès du serveur d'application afin de calculer le moment opportun pour l'actualiser.

  • Transmettez le jeton dans le champ Password à chaque établissement de connexion.

  • Surveillez la période de validité du jeton. Si le jeton expire, le broker déconnecte le client.

  • Le client peut écouter les notifications d'expiration de jeton provenant du broker. Toutefois, la livraison n'est pas garantie ; utilisez ces notifications uniquement pour le dépannage.

  • Stockez le jeton de manière persistante pour éviter de demander le même jeton à chaque reconnexion. Si de nombreux clients se reconnectent simultanément sans jetons mis en cache, le serveur d'application risque de tomber en panne inopinément.

  • Pour mettre à jour un jeton, reconnectez-vous avec un nouveau jeton ou utilisez le topic défini par le système pour le mettre à jour dynamiquement. Si vous optez pour les mises à jour dynamiques, mettez également à jour la configuration locale pour les initialisations de connexion ultérieures.

Prérequis côté serveur d'application

  • Authentifiez chaque client MQTT pour empêcher les demandes de jetons avec des identités falsifiées.

  • Suivez les correspondances jeton-client, les autorisations accordées et les périodes de validité afin d'éviter les demandes de jetons dupliquées provenant du même client.

  • Renvoyez le jeton ainsi que ses autorisations et son heure d'expiration pour permettre au client d'actualiser le jeton avant son expiration.

  • Mettez en œuvre une reprise après sinistre locale pour assurer la continuité des activités lorsque le broker est temporairement indisponible.

Opérations API

L'authentification par jeton est implémentée via les opérations API suivantes :

  • Les serveurs d'application interagissent avec le broker ApsaraMQ for MQTT via HTTPS pour la demande et la révocation de jetons.

    Chaque opération API requiert une vérification d'identité avec une paire AccessKey et une signature de requête. Les opérations de demande, de révocation et de vérification de jetons sont décrites dans Méthodes liées au serveur d'application dans l'authentification par jeton.

  • Les clients ApsaraMQ for MQTT prennent en charge les mises à jour dynamiques de jetons, les notifications d'expiration de jetons et les notifications d'invalidité de jetons. Ces opérations sont décrites dans Méthodes liées au client dans l'authentification par jeton.