Share via


Biblioteca de cliente do Azure Communication Identity para JavaScript – versão 1.3.1

A biblioteca de identidades é utilizada para gerir utilizadores e tokens para Azure Communication Services.

Introdução

Pré-requisitos

Instalação

npm install @azure/communication-identity

Browser support (Suporte do browser)

Pacote JavaScript

Para utilizar esta biblioteca de cliente no browser, primeiro tem de utilizar um bundler. Para obter detalhes sobre como fazê-lo, veja a nossa documentação de agrupamento.

Conceitos-chave

Clientes

O CommunicationIdentityClient fornece métodos para gerir os utilizadores e os respetivos tokens.

Exemplos

Autenticação

Pode obter uma chave e/ou cadeia de ligação a partir do recurso dos Serviços de Comunicação no portal do Azure. Assim que tiver uma chave, pode autenticar CommunicationIdentityClient com qualquer um dos seguintes métodos:

Criar KeyCredential com AzureKeyCredential antes de inicializar o cliente

import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";

const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(ENDPOINT, credential);

Utilizar um cadeia de ligação

import { CommunicationIdentityClient } from "@azure/communication-identity";

const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);

Utilizar um TokenCredential

import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";

const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(ENDPOINT, credential);

Se utilizar uma chave para inicializar o cliente, também terá de fornecer o ponto final adequado. Pode obter este ponto final a partir do recurso dos Serviços de Comunicação no portal do Azure.

Utilização

Criar uma instância de CommunicationIdentityClient

import { CommunicationIdentityClient } from "@azure/communication-identity";

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Criar um novo utilizador

Utilize o createUser método para criar um novo utilizador.

const user = await client.createUser();

Criar e atualizar um token de utilizador

Utilize o getToken método para emitir ou atualizar um token para um utilizador existente. O método também inclui uma lista de âmbitos de tokens de comunicação. As opções de âmbito incluem:

  • chat (Utilize-o para acesso total às APIs de Chat)
  • voip (Utilize-o para acesso total às APIs de Chamadas)
  • chat.join (Acesso a APIs de Chat, mas sem autorização para criar, eliminar ou atualizar tópicos de chat)
  • chat.join.limited (Uma versão mais limitada do chat.join que não permite adicionar ou remover participantes)
  • voip.join (Acesso a APIs de Chamadas, mas sem autorização para iniciar novas chamadas)
let { token } = await client.getToken(user, ["chat"]);

Para atualizar o token de utilizador, emita outro token com o mesmo utilizador.

let { token } = await client.getToken(user, ["chat"]);

Criar um token de utilizador com expiração personalizada

Também é possível criar um token de acesso de Identidade de Comunicação ao personalizar o tempo de expiração. O período de validade do token tem de estar dentro do intervalo de [60.1440] minutos. Se não for fornecido, será utilizado o valor predefinido de 1440 minutos (24 horas).

const tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let { token } = await client.getToken(user, ["chat"], tokenOptions);

Criar um utilizador e um token num único pedido

Para sua comodidade, utilize createUserAndToken para criar um novo utilizador e emitir um token com uma chamada de função. Isto traduz-se num único pedido Web em vez de criar primeiro um utilizador e, em seguida, emitir um token.

let { user, token } = await client.createUserAndToken(["chat"]);

Criar um utilizador e um token com expiração personalizada num único pedido

Também é possível criar um token de acesso de Identidade de Comunicação ao personalizar o tempo de expiração. O período de validade do token tem de estar dentro do intervalo de [60.1440] minutos. Se não for fornecido, será utilizado o valor predefinido de 1440 minutos (24 horas).

const userAndTokenOptions: CreateUserAndTokenOptions = { tokenExpiresInMinutes: 60 };
let { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);

Revogar tokens para um utilizador

Utilize o revokeTokens método para revogar todos os tokens emitidos para um utilizador.

await client.revokeTokens(user);

Eliminar um utilizador

Utilize o deleteUser método para eliminar um utilizador.

await client.deleteUser(user);

Trocar Azure AD token de acesso de um Utilizador do Teams para um token de acesso de Comunicação

Utilize getTokenForTeamsUser o método para trocar um token de acesso Azure AD de um utilizador do Teams por um novo CommunicationAccessToken com um tempo de expiração correspondente.

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>",
});

Resolução de problemas

Passos seguintes

Veja o diretório de exemplos para obter exemplos detalhados sobre como utilizar esta biblioteca.

Contribuir

Se quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.

Impressões