Azure Communication Identity-Clientbibliothek für JavaScript– Version 1.3.1
Die Identitätsbibliothek wird zum Verwalten von Benutzern und Token für Azure Communication Services verwendet.
Erste Schritte
Voraussetzungen
- Ein Azure-Abonnement.
- Eine vorhandene Communication Services-Ressource. Wenn Sie die Ressource erstellen müssen, können Sie das Azure-Portal, die Azure PowerShell oder die Azure CLI verwenden.
Installieren von
npm install @azure/communication-identity
Browserunterstützung
JavaScript-Paket
Um diese Clientbibliothek im Browser verwenden zu können, müssen Sie zunächst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.
Wichtige Begriffe
Clients
Stellt CommunicationIdentityClient
Methoden zum Verwalten von Benutzern und deren Token bereit.
Beispiele
Authentication
Sie können einen Schlüssel und/oder eine Verbindungszeichenfolge aus Ihrer Communication Services-Ressource im Azure-Portal abrufen. Sobald Sie über einen Schlüssel verfügen, können Sie sich CommunicationIdentityClient
mit einer der folgenden Methoden authentifizieren:
Erstellen KeyCredential
mit AzureKeyCredential
vor dem Initialisieren des Clients
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(ENDPOINT, credential);
Verwenden eines Verbindungszeichenfolge
import { CommunicationIdentityClient } from "@azure/communication-identity";
const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);
Verwenden eines TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(ENDPOINT, credential);
Wenn Sie einen Schlüssel zum Initialisieren des Clients verwenden, müssen Sie auch den entsprechenden Endpunkt angeben. Sie können diesen Endpunkt über Ihre Communication Services-Ressource im Azure-Portal abrufen.
Verbrauch
Erstellen einer instance von CommunicationIdentityClient
import { CommunicationIdentityClient } from "@azure/communication-identity";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Erstellen eines neuen Benutzers
Verwenden Sie die createUser
-Methode, um einen neuen Benutzer zu erstellen.
const user = await client.createUser();
Erstellen und Aktualisieren eines Benutzertokens
Verwenden Sie die getToken
-Methode, um ein Token für einen vorhandenen Benutzer auszustellen oder zu aktualisieren. Die -Methode akzeptiert auch eine Liste von Kommunikationstokenbereichen. Zu den Bereichsoptionen gehören:
chat
(Verwenden Sie dies für den Vollzugriff auf Chat-APIs.voip
(Verwenden Sie dies für den Vollzugriff auf aufrufende APIs.chat.join
(Zugriff auf Chat-APIs, aber ohne die Autorisierung zum Erstellen, Löschen oder Aktualisieren von Chatthreads)chat.join.limited
(Eine eingeschränktere Version von chat.join, die das Hinzufügen oder Entfernen von Teilnehmern nicht zulässt)voip.join
(Zugriff auf aufrufende APIs, aber ohne die Autorisierung zum Starten neuer Aufrufe)
let { token } = await client.getToken(user, ["chat"]);
Um das Benutzertoken zu aktualisieren, geben Sie ein weiteres Token für denselben Benutzer aus.
let { token } = await client.getToken(user, ["chat"]);
Erstellen eines Benutzertokens mit benutzerdefiniertem Ablauf
Es ist auch möglich, ein Kommunikationsidentitäts-Zugriffstoken zu erstellen, indem Sie die Ablaufzeit anpassen. Die Gültigkeitsdauer des Tokens muss innerhalb des Bereichs [60.1440] Minuten liegen. Wenn nicht angegeben, wird der Standardwert 1440 Minuten (24 Stunden) verwendet.
const tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let { token } = await client.getToken(user, ["chat"], tokenOptions);
Erstellen eines Benutzers und eines Tokens in einer einzelnen Anforderung
Verwenden Sie createUserAndToken
zur Vereinfachung, um einen neuen Benutzer zu erstellen und ein Token mit einem Funktionsaufruf auszustellen. Dies wird in eine einzelne Webanforderung übersetzt, anstatt zuerst einen Benutzer zu erstellen und dann ein Token auszugeben.
let { user, token } = await client.createUserAndToken(["chat"]);
Erstellen eines Benutzers und eines Tokens mit benutzerdefiniertem Ablauf in einer einzelnen Anforderung
Es ist auch möglich, ein Kommunikationsidentitäts-Zugriffstoken zu erstellen, indem Sie die Ablaufzeit anpassen. Die Gültigkeitsdauer des Tokens muss innerhalb des Bereichs [60.1440] Minuten liegen. Wenn nicht angegeben, wird der Standardwert 1440 Minuten (24 Stunden) verwendet.
const userAndTokenOptions: CreateUserAndTokenOptions = { tokenExpiresInMinutes: 60 };
let { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);
Widerrufen von Token für einen Benutzer
Verwenden Sie die revokeTokens
-Methode, um alle ausgestellten Token für einen Benutzer zu widerrufen.
await client.revokeTokens(user);
Löschen eines Benutzers
Verwenden Sie die deleteUser
-Methode, um einen Benutzer zu löschen.
await client.deleteUser(user);
Austauschen des Azure AD-Zugriffstokens eines Teams-Benutzers gegen ein Kommunikationszugriffstoken
Verwenden Sie getTokenForTeamsUser
die -Methode, um ein Azure AD-Zugriffstoken eines Teams-Benutzers gegen einen neuen CommunicationAccessToken
mit einer übereinstimmenden Ablaufzeit auszutauschen.
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>",
});
Problembehandlung
Nächste Schritte
Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie im Beispielverzeichnis .
Mitwirken
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.
Verwandte Projekte
Azure SDK for JavaScript