Bibliothèque de client Azure Communication Common pour JavaScript - version 2.3.1

Ce package contient du code commun pour les bibliothèques Azure Communication Service.

Prise en main

Prérequis

Installation de

npm install @azure/communication-common

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 façon de procéder, reportez-vous à notre documentation sur le regroupement.

Concepts clés

CommunicationTokenCredential et AzureCommunicationTokenCredential

Est CommunicationTokenCredential une interface utilisée pour authentifier un utilisateur auprès de Communication Services, comme la conversation ou l’appel.

Le AzureCommunicationTokenCredential offre un moyen pratique de créer des informations d’identification implémentant ladite interface et vous permet de tirer parti de la logique d’actualisation automatique intégrée.

Selon votre scénario, vous pouvez initialiser le AzureCommunicationTokenCredential avec :

  • un jeton statique (adapté aux clients de courte durée utilisés pour envoyer des messages de conversation ponctuels, par exemple) ou
  • une fonction de rappel qui garantit un état d’authentification continue pendant les communications (idéal par exemple pour les sessions d’appel longues).

Les jetons fournis au par le biais du constructeur ou du rappel de l’actualisation de jeton peuvent être obtenus à l’aide AzureCommunicationTokenCredential de la bibliothèque Azure Communication Identity.

Exemples

Créer des informations d’identification avec un jeton statique

Pour les clients de courte durée, l’actualisation du jeton à l’expiration n’est pas nécessaire et peut AzureCommunicationTokenCredential être instanciée avec un jeton statique.

const tokenCredential = new AzureCommunicationTokenCredential(
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);

Créer des informations d’identification avec un rappel

Ici, nous supposons que nous avons une fonction fetchTokenFromMyServerForUser qui effectue une demande réseau pour récupérer une chaîne de jeton JWT pour un utilisateur. Nous le transmettons aux informations d’identification pour récupérer un jeton pour Bob à partir de notre propre serveur. Notre serveur utiliserait la bibliothèque Azure Communication Identity pour émettre des jetons. Il est nécessaire que la fetchTokenFromMyServerForUser fonction retourne un jeton valide (avec une date d’expiration définie à l’avenir) à tout moment.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});

Créer des informations d’identification avec une actualisation proactive

La définition de refreshProactively la valeur true appelle votre tokenRefresher fonction lorsque le jeton est proche de l’expiration.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
  refreshProactively: true,
});

Créer des informations d’identification avec une actualisation proactive et un jeton initial

Le passage initialToken est une optimisation facultative pour ignorer le premier appel à tokenRefresher. Vous pouvez l’utiliser pour séparer le démarrage de votre application des cycles d’actualisation de jeton suivants.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
  refreshProactively: true,
  token:
    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});

Dépannage

  • Jeton non valide spécifié : assurez-vous que le jeton que vous passez au AzureCommunicationTokenCredential constructeur ou au tokenRefresher rappel est une chaîne de jeton JWT nue. Par exemple, si vous utilisez la bibliothèque Azure Communication Identity ou l’API REST pour obtenir le jeton, assurez-vous de transmettre uniquement la token partie de l’objet de réponse.

Étapes suivantes

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