Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De identiteitsbibliotheek wordt gebruikt voor het beheren van gebruikers en tokens voor Azure Communication Services.
Aan de slag
Prerequisites
- Een Azure-abonnement.
- Een bestaande Communication Services-resource. Als u de resource wilt maken, kunt u de Azure Portal, de Azure PowerShell-of de Azure CLI-gebruiken.
Installeren
npm install @azure/communication-identity
Browserondersteuning
JavaScript-bundel
Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundelaar gebruiken. Raadpleeg onze bundeldocumentatievoor meer informatie over hoe u dit doet.
belangrijke concepten
Clients
Het CommunicationIdentityClient biedt methoden om gebruikers en hun tokens te beheren.
Examples
Authentication
Je kunt een sleutel en/of verbindingsreeks halen uit je Communication Services-resource in Azure Portal. Zodra je een sleutel hebt, kun je deze CommunicationIdentityClient authenticeren met een van de volgende methoden:
Maak met AzureKeyCredential aan KeyCredential voordat je de client initialiseert
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);
Een verbindingsreeks gebruiken
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);
Met behulp van een 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);
Als u een sleutel gebruikt om de client te initialiseren, moet u ook het juiste eindpunt opgeven. U kunt dit eindpunt ophalen uit uw Communication Services-resource in Azure Portal.
Usage
Een nieuwe gebruiker aanmaken
Gebruik de createUser methode om een nieuwe gebruiker aan te maken.
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();
Het aanmaken en verversen van een gebruikerstoken
Gebruik deze getToken methode om een token uit te geven of te verversen voor een bestaande gebruiker. De methode neemt ook een lijst van communicatietokenscopes mee. Scope-opties omvatten:
-
chat(Gebruik dit voor volledige toegang tot Chat API's) -
voip(Gebruik dit voor volledige toegang tot Calling API's) -
chat.join(Toegang tot chat-API's, maar zonder toestemming om chatthreads aan te maken, verwijderen of bij te werken) -
chat.join.limited(Een beperktere versie van chat.join die geen deelnemers kunt toevoegen of verwijderen) -
voip.join(Toegang tot Calling API's maar zonder toestemming om nieuwe aanroepen te starten)
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"]);
Om het gebruikerstoken te verversen, geef je een andere token uit bij dezelfde gebruiker.
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"]));
Een gebruikerstoken aanmaken met aangepaste vervaldatum
Het is ook mogelijk om een Communication Identity-toegangstoken te creëren door de vervaldatum aan te passen. De geldigheidsduur van de token moet binnen het bereik van [60,1440] minuten liggen. Indien niet opgegeven, wordt de standaardwaarde van 1440 minuten (24 uur) gebruikt.
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);
Een gebruiker en een token aanmaken in één verzoek
Voor het gemak kun je createUserAndToken gebruiken om een nieuwe gebruiker aan te maken en een token uit te geven met één functieaanroep. Dit vertaalt zich in één webverzoek in plaats van eerst een gebruiker aan te maken en vervolgens een token uit te geven.
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"]);
Een gebruiker en een token met aangepaste vervaldatum aanmaken in één enkel verzoek
Het is ook mogelijk om een Communication Identity-toegangstoken te creëren door de vervaldatum aan te passen. De geldigheidsduur van de token moet binnen het bereik van [60,1440] minuten liggen. Indien niet opgegeven, wordt de standaardwaarde van 1440 minuten (24 uur) gebruikt.
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);
Tokens intrekken voor een gebruiker
Gebruik de revokeTokens methode om alle uitgegeven tokens voor een gebruiker in te trekken.
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);
Een gebruiker verwijderen
Gebruik de deleteUser methode om een gebruiker te verwijderen.
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);
Het inwisselen van Azure AD-toegangstoken van een Teams-gebruiker voor een Communicatietoegangstoken
Gebruik getTokenForTeamsUser de methode om een Azure AD-toegangstoken van een Teams-gebruiker om te wisselen voor een nieuw CommunicationAccessToken token met een bijpassende vervaltijd.
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
Het inschakelen van logboekregistratie kan helpen nuttige informatie over fouten te ontdekken. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de omgevingsvariabele AZURE_LOG_LEVEL in op info. U kunt logboekregistratie ook tijdens runtime inschakelen door setLogLevel aan te roepen in de @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Volgende stappen
Bekijk de voorbeelden map voor gedetailleerde voorbeelden over het gebruik van deze bibliotheek.
Contributing
Als je wilt bijdragen aan deze bibliotheek, lees dan de bijdragende gids om meer te weten te komen over hoe je de code bouwt en test.
Verwante projecten
Azure SDK for JavaScript