Partager via


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

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.

Impressions