Condividi tramite


Libreria client comune di Comunicazione di Azure per JavaScript - versione 2.3.1

Questo pacchetto contiene codice comune per le librerie del servizio di comunicazione di Azure.

Introduzione

Prerequisiti

Installazione

npm install @azure/communication-common

Supporto browser

JavaScript Bundle

Per usare questa libreria client nel browser, è prima necessario usare un bundler. Per informazioni dettagliate su come eseguire questa operazione, vedere la documentazione di raggruppamento.

Concetti chiave

CommunicationTokenCredential e AzureCommunicationTokenCredential

L'oggetto CommunicationTokenCredential è un'interfaccia utilizzata per autenticare un utente con Servizi di comunicazione, ad esempio Chat o Chiamata.

Offre AzureCommunicationTokenCredential un modo pratico per creare una credenziale che implementa l'interfaccia specificata e consente di sfruttare la logica di aggiornamento automatico predefinita.

A seconda dello scenario, è possibile inizializzare con AzureCommunicationTokenCredential :

  • un token statico (adatto per i client di breve durata usati per inviare messaggi di chat uno-off) o
  • una funzione di callback che garantisce uno stato di autenticazione continua durante le comunicazioni (ad esempio, per sessioni chiamante lunghe).

I token forniti al AzureCommunicationTokenCredential costruttore o tramite il callback dell'aggiornamento del token possono essere ottenuti usando la libreria di identità di comunicazione di Azure.

Esempio

Creare una credenziale con un token statico

Per i client di breve durata, l'aggiornamento del token alla scadenza non è necessario e può essere creata un'istanza AzureCommunicationTokenCredential con un token statico.

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

Creare una credenziale con un callback

Si supponga di avere una funzione fetchTokenFromMyServerForUser che effettua una richiesta di rete per recuperare una stringa di token JWT per un utente. Le credenziali vengono passate per recuperare un token per Bob dal proprio server. Il server userebbe la libreria di identità di comunicazione di Azure per emettere token. È necessario che la fetchTokenFromMyServerForUser funzione restituisce un token valido (con una data di scadenza impostata in futuro) in ogni momento.

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

Creare una credenziale con aggiornamento proattivo

L'impostazione refreshProactively su true chiamerà la tokenRefresher funzione quando il token è vicino alla scadenza.

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

Creare una credenziale con aggiornamento proattivo e un token iniziale

initialToken Il passaggio è un'ottimizzazione facoltativa per ignorare la prima chiamata a tokenRefresher. È possibile usarlo per separare l'avvio dall'applicazione dai cicli di aggiornamento dei token successivi.

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

Risoluzione dei problemi

  • Token non valido specificato: assicurarsi che il AzureCommunicationTokenCredential token passato al costruttore o al tokenRefresher callback sia una stringa di token JWT bare. Ad esempio, se si usa la libreria di identità di comunicazione di Azure o l'API REST per ottenere il token, assicurarsi di passare solo la token parte dell'oggetto risposta.

Passaggi successivi

Contributo

Per contribuire a questa libreria, leggere la guida ai contributi per altre informazioni su come compilare e testare il codice.

Impression