Libreria client di Identità di comunicazione di Azure per JavaScript - versione 1.3.1
La libreria di identità viene usata per la gestione di utenti e token per Servizi di comunicazione di Azure.
Introduzione
Prerequisiti
- Una sottoscrizione di Azure.
- Una risorsa di 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-identity
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 creazione di bundle.
Concetti chiave
Client
fornisce CommunicationIdentityClient
metodi per gestire gli utenti e i relativi token.
Esempio
Authentication
È possibile ottenere una chiave e/o stringa di connessione dalla risorsa di Servizi di comunicazione nel portale di Azure. Dopo aver ottenuto una chiave, è possibile autenticare con CommunicationIdentityClient
uno dei metodi seguenti:
Creare KeyCredential
con AzureKeyCredential
prima di inizializzare il client
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(ENDPOINT, credential);
Uso di un stringa di connessione
import { CommunicationIdentityClient } from "@azure/communication-identity";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);
Uso di un oggetto TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(ENDPOINT, credential);
Se si usa una chiave per inizializzare il client, sarà necessario specificare anche l'endpoint appropriato. È possibile ottenere questo endpoint dalla risorsa di Servizi di comunicazione nel portale di Azure.
Utilizzo
Creazione di un'istanza di CommunicationIdentityClient
import { CommunicationIdentityClient } from "@azure/communication-identity";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Creazione di un nuovo utente
Usare il createUser
metodo per creare un nuovo utente.
const user = await client.createUser();
Creazione e aggiornamento di un token utente
Usare il getToken
metodo per rilasciare o aggiornare un token per un utente esistente. Il metodo accetta anche un elenco di ambiti del token di comunicazione. Le opzioni di ambito includono:
chat
(Usare questa opzione per l'accesso completo alle API chat)voip
(Usare questa opzione per l'accesso completo alle API chiamanti)chat.join
(Accesso alle API chat, ma senza l'autorizzazione per creare, eliminare o aggiornare thread di chat)chat.join.limited
(Una versione più limitata di chat.join che non consente di aggiungere o rimuovere partecipanti)voip.join
(Accesso alle API chiamanti ma senza l'autorizzazione per avviare nuove chiamate)
let { token } = await client.getToken(user, ["chat"]);
Per aggiornare il token utente, emettere un altro token con lo stesso utente.
let { token } = await client.getToken(user, ["chat"]);
Creazione di un token utente con scadenza personalizzata
È anche possibile creare un token di accesso per identità di comunicazione personalizzando l'ora di scadenza. Il periodo di validità del token deve essere compreso nell'intervallo di [60.1440] minuti. Se non specificato, verrà usato il valore predefinito di 1440 minuti (24 ore).
const tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let { token } = await client.getToken(user, ["chat"], tokenOptions);
Creazione di un utente e di un token in una singola richiesta
Per praticità, usare createUserAndToken
per creare un nuovo utente e rilasciare un token con una chiamata di funzione. Ciò si traduce in una singola richiesta Web anziché creare prima un utente e quindi emettere un token.
let { user, token } = await client.createUserAndToken(["chat"]);
Creazione di un utente e di un token con scadenza personalizzata in una singola richiesta
È anche possibile creare un token di accesso per identità di comunicazione personalizzando l'ora di scadenza. Il periodo di validità del token deve essere compreso nell'intervallo di [60.1440] minuti. Se non specificato, verrà usato il valore predefinito di 1440 minuti (24 ore).
const userAndTokenOptions: CreateUserAndTokenOptions = { tokenExpiresInMinutes: 60 };
let { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);
Revoca dei token per un utente
Usare il revokeTokens
metodo per revocare tutti i token rilasciati per un utente.
await client.revokeTokens(user);
Eliminazione di un utente
Usare il deleteUser
metodo per eliminare un utente.
await client.deleteUser(user);
Scambio di token di accesso di Azure AD di un utente di Teams per un token di accesso di comunicazione
Usare il getTokenForTeamsUser
metodo per scambiare un token di accesso di Azure AD di un utente di Teams per un nuovo CommunicationAccessToken
con una scadenza corrispondente.
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>",
});
Risoluzione dei problemi
Passaggi successivi
Per esempi dettagliati su come usare questa libreria, vedere la directory degli esempi .
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