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
- Una sottoscrizione di Azure.
- Risorsa servizi di comunicazione esistente. Se è necessario creare la risorsa, è possibile usare il portale di Azure, il Azure PowerShell o l'interfaccia della riga di comando di Azure.
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 altokenRefresher
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 latoken
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.
Progetti correlati
Azure SDK for JavaScript