Partager via


Comment générer l’URL d’accès client pour les clients

Un client, qu’il s’agisse d’un navigateur 💻, d’une application mobile 📱 ou d’un appareil IoT 💡, utilise une URL d’accès au client pour se connecter et s’authentifier auprès de votre ressource. Cette URL suit le modèle wss://<service_name>.webpubsub.azure.com/client/hubs/<hub_name>?access_token=<token>. Cet article vous montre plusieurs façons d’obtenir l’URL d’accès client.

Copier à partir du Portail Azure

Dans l’onglet Clés de Portail Azure, il existe un outil Générateur d’URL client pour générer rapidement une URL d’accès client pour vous, comme illustré dans le diagramme suivant. Les valeurs entrées ici ne sont pas stockées.

Screenshot of the Web PubSub Client URL Generator.

Générer à partir du Kit de développement logiciel (SDK) de service

La même URL d’accès client peut être générée à l’aide du Kit de développement logiciel (SDK) du serveur Web PubSub.

  1. Suivre la prise en main du Kit de développement logiciel (SDK) serveur pour créer un WebPubSubServiceClient objet service

  2. Générez l’URL d’accès client en appelant WebPubSubServiceClient.getClientAccessToken:

    • Configurer l’ID utilisateur

      let token = await serviceClient.getClientAccessToken({ userId: "user1" });
      
    • Configurer la durée de vie du jeton

      let token = await serviceClient.getClientAccessToken({
        expirationTimeInMinutes: 5,
      });
      
    • Configurer un rôle qui peut joindre un groupe group1 directement lorsqu’il se connecte à l’aide de cette URL d’accès client

      let token = await serviceClient.getClientAccessToken({
        roles: ["webpubsub.joinLeaveGroup.group1"],
      });
      
    • Configurer un rôle que le client peut envoyer des messages directement lorsqu’il se connecte à group1 l’aide de cette URL d’accès client

      let token = await serviceClient.getClientAccessToken({
        roles: ["webpubsub.sendToGroup.group1"],
      });
      
    • Configurer un groupe group1 joint par le client une fois qu’il se connecte à l’aide de cette URL d’accès client

      let token = await serviceClient.getClientAccessToken({
        groups: ["group1"],
      });
      

Dans le code réel, nous avons généralement un côté serveur pour héberger la logique générant l’URL d’accès client. Lorsqu’une demande cliente arrive, le côté serveur peut utiliser le flux de travail d’authentification/d’autorisation général pour valider la demande du client. Seules les demandes de client valides peuvent récupérer l’URL d’accès au client.

Appeler l’API REST Générer un jeton client

Vous pouvez activer l’ID Microsoft Entra dans votre service et utiliser le jeton Microsoft Entra pour appeler l’API Générer un jeton client rest pour obtenir le jeton que le client doit utiliser.

  1. Suivez Autoriser à partir de l’application pour activer l’ID Microsoft Entra.

  2. Suivez obtenir le jeton Microsoft Entra pour obtenir le jeton Microsoft Entra avec Postman.

  3. Utilisez le jeton Microsoft Entra pour appeler :generateToken avec Postman :

    Remarque

    Utilisez la dernière version de Postman. Les anciennes versions de Postman présentent un problème de prise en charge du signe deux-points : dans le chemin d’accès.

    1. Pour l’URI, entrez https://{Endpoint}/api/hubs/{hub}/:generateToken?api-version=2022-11-01

    2. Sous l’onglet Authentification , sélectionnez Jeton du porteur et collez le jeton Microsoft Entra récupéré à l’étape précédente.

    3. Sélectionnez Envoyer et vous voyez le jeton d’accès client dans la réponse :

      {
        "token": "ABCDEFG.ABC.ABC"
      }
      
  4. L’URI d’accès client est au format de wss://<endpoint>/client/hubs/<hub_name>?access_token=<token>