Bibliothèque de client Azure Communication Identity pour JavaScript - version 1.3.1
La bibliothèque d’identités est utilisée pour gérer les utilisateurs et les jetons pour Azure Communication Services.
Prise en main
Prérequis
- Un abonnement Azure.
- Une ressource Communication Services existante. Si vous devez créer la ressource, vous pouvez utiliser le portail Azure, le Azure PowerShell ou Azure CLI.
Installation de
npm install @azure/communication-identity
Prise en charge des navigateurs
Ensemble JavaScript
Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la procédure à suivre, reportez-vous à notre documentation sur le regroupement.
Concepts clés
Clients
Fournit CommunicationIdentityClient
des méthodes pour gérer les utilisateurs et leurs jetons.
Exemples
Authentification
Vous pouvez obtenir une clé et/ou chaîne de connexion à partir de votre ressource Communication Services dans le portail Azure. Une fois que vous avez une clé, vous pouvez authentifier avec l’une CommunicationIdentityClient
des méthodes suivantes :
Créer KeyCredential
avec AzureKeyCredential
avant d’initialiser le client
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(ENDPOINT, credential);
A l'aide d'une chaîne de connexion
import { CommunicationIdentityClient } from "@azure/communication-identity";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);
Utilisation d’un TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(ENDPOINT, credential);
Si vous utilisez une clé pour initialiser le client, vous devez également fournir le point de terminaison approprié. Vous pouvez obtenir ce point de terminaison à partir de votre ressource Communication Services dans le portail Azure.
Utilisation
Création d’un instance de CommunicationIdentityClient
import { CommunicationIdentityClient } from "@azure/communication-identity";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Création d’un utilisateur
Utilisez la createUser
méthode pour créer un utilisateur.
const user = await client.createUser();
Création et actualisation d’un jeton utilisateur
Utilisez la getToken
méthode pour émettre ou actualiser un jeton pour un utilisateur existant. La méthode prend également une liste d’étendues de jetons de communication. Les options d’étendue sont les suivantes :
chat
(Utilisez-le pour un accès complet aux API De conversation)voip
(Utilisez-le pour un accès complet aux API d’appel)chat.join
(Accès aux API de conversation, mais sans l’autorisation de créer, supprimer ou mettre à jour des threads de conversation)chat.join.limited
(Version plus limitée de chat.join qui ne permet pas d’ajouter ou de supprimer des participants)voip.join
(Accès aux API d’appel, mais sans l’autorisation de démarrer de nouveaux appels)
let { token } = await client.getToken(user, ["chat"]);
Pour actualiser le jeton utilisateur, émettez un autre jeton avec le même utilisateur.
let { token } = await client.getToken(user, ["chat"]);
Création d’un jeton utilisateur avec expiration personnalisée
Il est également possible de créer un jeton d’accès d’identité de communication en personnalisant le délai d’expiration. La période de validité du jeton doit être comprise dans [60 1440] minutes. Si elle n’est pas fournie, la valeur par défaut de 1 440 minutes (24 heures) est utilisée.
const tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let { token } = await client.getToken(user, ["chat"], tokenOptions);
Création d’un utilisateur et d’un jeton dans une seule requête
Pour des raisons pratiques, utilisez createUserAndToken
pour créer un utilisateur et émettre un jeton avec un appel de fonction. Cela se traduit par une requête web unique au lieu de créer d’abord un utilisateur, puis d’émettre un jeton.
let { user, token } = await client.createUserAndToken(["chat"]);
Création d’un utilisateur et d’un jeton avec expiration personnalisée dans une seule demande
Il est également possible de créer un jeton d’accès d’identité de communication en personnalisant le délai d’expiration. La période de validité du jeton doit être comprise dans [60 1440] minutes. Si elle n’est pas fournie, la valeur par défaut de 1 440 minutes (24 heures) est utilisée.
const userAndTokenOptions: CreateUserAndTokenOptions = { tokenExpiresInMinutes: 60 };
let { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);
Révocation de jetons pour un utilisateur
Utilisez la revokeTokens
méthode pour révoquer tous les jetons émis pour un utilisateur.
await client.revokeTokens(user);
Suppression d'un utilisateur
Utilisez la deleteUser
méthode pour supprimer un utilisateur.
await client.deleteUser(user);
Échange du jeton d’accès Azure AD d’un utilisateur Teams contre un jeton d’accès communication
Utilisez getTokenForTeamsUser
la méthode pour échanger un jeton d’accès Azure AD d’un utilisateur Teams contre un nouveau CommunicationAccessToken
avec un délai d’expiration correspondant.
await client.getTokenForTeamsUser({
teamsUserAadToken: "<aad-access-token-of-a-teams-user>",
clientId: "<cliend-id-of-an-aad-application>",
userObjectId: "<aad-object-id-of-a-teams-user>",
});
Dépannage
Étapes suivantes
Consultez le répertoire d’exemples pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.
Contribution
Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.
Projets associés
Azure SDK for JavaScript