Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Biblioteka tożsamości służy do zarządzania użytkownikami i tokenami dla Azure Communication Services.
Rozpoczęcie pracy
Prerequisites
- Subskrypcja platformy Azure.
- Istniejący zasób usług komunikacyjnych. Jeśli musisz utworzyć zasób, możesz użyć witryny Azure Portal, programu Azure PowerShelllub interfejsu wiersza polecenia platformy Azure .
Instalowanie
npm install @azure/communication-identity
Obsługa przeglądarek
Pakiet JavaScript
Aby użyć tej biblioteki klienta w przeglądarce, najpierw należy użyć pakietu. Aby uzyskać szczegółowe informacje o tym, jak to zrobić, zapoznaj się z naszą dokumentacją dotyczącą tworzenia pakietów .
Kluczowe pojęcia
Clients
Zapewnia CommunicationIdentityClient metody zarządzania użytkownikami i ich tokenami.
Examples
Authentication
Możesz pobrać klucz i/lub parametry połączenia ze swojego zasobu Communication Services w Azure Portal. Gdy już masz klucz, możesz go uwierzytelnić CommunicationIdentityClient na dowolną z następujących metod:
Utwórz KeyCredential z przed AzureKeyCredential inicjalizacją klienta
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);
Używanie ciągu połączenia
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);
Używając 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);
Jeśli używasz klucza do inicjowania klienta, musisz również podać odpowiedni punkt końcowy. Ten punkt końcowy można uzyskać z zasobu usług Komunikacyjnych w witrynie Azure Portal.
Usage
Tworzenie nowego użytkownika
Użyj tej metody createUser , aby utworzyć nowego użytkownika.
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();
Tworzenie i odświeżanie tokena użytkownika
Użyj getToken tej metody do wydania lub odświeżenia tokena dla istniejącego użytkownika. Metoda obejmuje także listę zakresów tokenów komunikacyjnych. Opcje zakresu obejmują:
-
chat(Użyj tego, aby uzyskać pełny dostęp do API czatu) -
voip(Użyj tego, aby uzyskać pełny dostęp do API wywołujących) -
chat.join(Dostęp do API czatu, ale bez upoważnienia do tworzenia, usuwania lub aktualizacji wątków czatu) -
chat.join.limited(Bardziej ograniczona wersja chat.join, która nie pozwala na dodawanie ani usuwanie uczestników) -
voip.join(Dostęp do API wywołań, ale bez upoważnienia do rozpoczynania nowych wywołań)
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"]);
Aby odświeżyć token użytkownika, wydaj kolejny token u tego samego użytkownika.
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"]));
Tworzenie tokena użytkownika z niestandardowym wygaśnięciem
Możliwe jest także utworzenie tokena dostępu Communication Identity poprzez dostosowanie czasu wygaśnięcia. Okres ważności tokena musi mieścić się w zakresie [60,1440] minut. Jeśli nie zostanie podana, zostanie użyta domyślna wartość 1440 minut (24 godziny).
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);
Tworzenie użytkownika i tokena w jednym żądaniu
Dla wygody użyj createUserAndToken utworzenia nowego użytkownika i wydania tokena z jednym wywołaniem funkcji. Przekłada się to na pojedyncze żądanie webowe, zamiast najpierw utworzyć użytkownika, a następnie wydać 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"]);
Tworzenie użytkownika i tokena z niestandardowym wygaśnięciem w jednym żądaniu
Możliwe jest także utworzenie tokena dostępu Communication Identity poprzez dostosowanie czasu wygaśnięcia. Okres ważności tokena musi mieścić się w zakresie [60,1440] minut. Jeśli nie zostanie podana, zostanie użyta domyślna wartość 1440 minut (24 godziny).
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);
Cofnięcie tokenów dla użytkownika
Użyj tej metody revokeTokens , aby cofnąć wszystkie wydane tokeny dla użytkownika.
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);
Usuwanie użytkownika
Użyj deleteUser metody usunięcia użytkownika.
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);
Wymiana tokena dostępu Azure AD użytkownika Teams na token dostępu komunikacyjnego
Użyj getTokenForTeamsUser metody wymiany tokena dostępu do Azure AD użytkownika Teams na nowy CommunicationAccessToken token o pasującym czasie wygaśnięcia.
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
Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań i odpowiedzi HTTP, ustaw zmienną środowiskową AZURE_LOG_LEVEL na info. Alternatywnie rejestrowanie można włączyć w czasie wykonywania, wywołując setLogLevel w @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Następne kroki
Zapoznaj się z przykładami katalogu, aby zapoznać się ze szczegółowymi przykładami dotyczącymi korzystania z tej biblioteki.
Contributing
Jeśli chcesz przyczynić się do tej biblioteki, przeczytaj przewodnik wkład aby dowiedzieć się więcej o budowaniu i testowaniu kodu.
Powiązane projekty
Azure SDK for JavaScript