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.
- Pour démarrer rapidement, copiez-en une à partir du Portail Azure
- Pour le développement, générez la valeur à l’aide du Kit de développement logiciel (SDK) du serveur Web PubSub
- Si vous utilisez l’ID Microsoft Entra, vous pouvez également appeler l’API REST Générer un jeton 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.
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.
Suivre la prise en main du Kit de développement logiciel (SDK) serveur pour créer un
WebPubSubServiceClient
objetservice
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 clientlet 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 clientlet 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 clientlet 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.
Suivez Autoriser à partir de l’application pour activer l’ID Microsoft Entra.
Suivez obtenir le jeton Microsoft Entra pour obtenir le jeton Microsoft Entra avec Postman.
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.Pour l’URI, entrez
https://{Endpoint}/api/hubs/{hub}/:generateToken?api-version=2022-11-01
Sous l’onglet Authentification , sélectionnez Jeton du porteur et collez le jeton Microsoft Entra récupéré à l’étape précédente.
Sélectionnez Envoyer et vous voyez le jeton d’accès client dans la réponse :
{ "token": "ABCDEFG.ABC.ABC" }
L’URI d’accès client est au format de
wss://<endpoint>/client/hubs/<hub_name>?access_token=<token>