Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La libreria identità viene utilizzata per gestire gli utenti e i token per Servizi di comunicazione di Azure.
Come iniziare
Prerequisites
- Una sottoscrizione di Azure.
- Una risorsa di Servizi di comunicazione esistente. Se è necessario creare la risorsa, è possibile usare il portale di Azure , il Azure PowerShello l'interfaccia della riga di comando di Azure .
Installazione in corso
npm install @azure/communication-identity
Supporto del browser
Pacchetto JavaScript
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
Clients
Fornisce CommunicationIdentityClient metodi per gestire gli utenti e i loro token.
Examples
Autenticazione
Puoi ottenere una chiave e/o una stringa di connessione dalla tua risorsa Communication Services in portale di Azure. Una volta che hai una chiave, puoi autenticare la CommunicationIdentityClient chiave con uno qualsiasi dei seguenti metodi:
Crea KeyCredential con AzureKeyCredential prima di inizializzare il client
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const key = "<some-key>";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new AzureKeyCredential(key);
const client = new CommunicationIdentityClient(endpoint, credential);
Uso di una stringa di connessione
import { CommunicationIdentityClient } from "@azure/communication-identity";
// Example connection string
const connectionString =
"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret";
const client = new CommunicationIdentityClient(connectionString);
Usando un TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
Se si usa una chiave per inizializzare il client, sarà necessario fornire anche l'endpoint appropriato. È possibile ottenere questo endpoint dalla risorsa servizi di comunicazione in portale di Azure.
Usage
Creazione di un nuovo utente
Usa il createUser metodo per creare un nuovo utente.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
Creazione e aggiornamento di un token utente
Usa il getToken metodo per emettere o aggiornare un token per un utente esistente. Il metodo include anche un elenco di scope dei token di comunicazione. Le opzioni per l'ambito includono:
-
chat(Usa questo per avere pieno accesso alle API di Chat) -
voip(Usa questo per l'accesso completo alle API di chiamata) -
chat.join(Accesso alle API di chat ma senza l'autorizzazione a creare, eliminare o aggiornare i thread di chat) -
chat.join.limited(Una versione più limitata di chat.join che non permette di aggiungere o rimuovere partecipanti) -
voip.join(Accesso alle API di chiamata ma senza l'autorizzazione a iniziare nuove chiamate)
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
const { token } = await client.getToken(user, ["chat"]);
Per aggiornare il token utente, emettere un altro token con lo stesso utente.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
let { token } = await client.getToken(user, ["chat"]);
// Refresh the token again
({ token } = await client.getToken(user, ["chat"]));
Creazione di un token utente con scadenza personalizzata
È anche possibile creare un token di accesso Communication Identity personalizzando il tempo di scadenza. Il periodo di validità del token deve essere entro [60,1440] minuti. Se non fornito, verrà utilizzato il valore predefinito di 1440 minuti (24 ore).
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
const tokenOptions = { tokenExpiresInMinutes: 60 };
const { token } = await client.getToken(user, ["chat"], tokenOptions);
Creare un utente e un token in una singola richiesta
Per comodità, usa createUserAndToken per creare un nuovo utente ed emettere un token con una sola chiamata di funzione. Questo si traduce in una singola richiesta web invece di creare prima un utente e poi emettere un token.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const { user, token } = await client.createUserAndToken(["chat"]);
Creare un utente e un token con scadenza personalizzata in una singola richiesta
È anche possibile creare un token di accesso Communication Identity personalizzando il tempo di scadenza. Il periodo di validità del token deve essere entro [60,1440] minuti. Se non fornito, verrà utilizzato il valore predefinito di 1440 minuti (24 ore).
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const userAndTokenOptions = { tokenExpiresInMinutes: 60 };
const { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);
Revoca dei token per un utente
Usa il revokeTokens metodo per revocare tutti i token emessi per un utente.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
// Create user
const user = await client.createUser();
// Later when you want to revoke the user's tokens
await client.revokeTokens(user);
Eliminazione di un utente
Usa il deleteUser metodo per eliminare un utente.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
// Create user
const user = await client.createUser();
// Later when you want to delete the user
await client.deleteUser(user);
Scambio del token di accesso Azure AD di un utente Teams con un token di accesso Communication
Usa getTokenForTeamsUser il metodo per scambiare un token di accesso Azure AD di un utente Teams con uno nuovo CommunicationAccessToken con un tempo di scadenza corrispondente.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const { token, expiresOn } = 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>",
});
Troubleshooting
Logging
L'abilitazione della registrazione può aiutare a individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL su info. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel nel @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Passaggi successivi
Per esempi dettagliati su come usare questa libreria, vedere gli esempi di directory.
Contributing
Se desideri contribuire a questa libreria, leggi la guida contributi per saperne di più su come costruire e testare il codice.
Progetti correlati
Azure SDK for JavaScript