Condividi tramite


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

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.

Impression