Biblioteca de clientes da Identidade de Comunicação do Azure para JavaScript – versão 1.3.1

A biblioteca de identidade é usada para gerenciar usuários e tokens para Serviços de Comunicação do Azure.

Introdução

Pré-requisitos

Instalando o

npm install @azure/communication-identity

Suporte ao navegador

Pacote JavaScript

Para usar essa biblioteca de clientes no navegador, primeiro você precisa usar um empacotador. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agrupamento.

Principais conceitos

Clientes

O CommunicationIdentityClient fornece métodos para gerenciar usuários e seus tokens.

Exemplos

Autenticação

Você pode obter uma chave e/ou cadeia de conexão do recurso dos Serviços de Comunicação no Portal do Azure. Depois de ter uma chave, você pode autenticar o 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);

Usando uma cadeia de conexão

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

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

Usando um TokenCredential

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

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

Se você usar uma chave para inicializar o cliente, também precisará fornecer o ponto de extremidade apropriado. Você pode obter esse ponto de extremidade do recurso dos Serviços de Comunicação no Portal do Azure.

Uso

Criando uma instância de CommunicationIdentityClient

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

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Criando um novo usuário

Use o createUser método para criar um novo usuário.

const user = await client.createUser();

Criando e atualizando um token de usuário

Use o getToken método para emitir ou atualizar um token para um usuário existente. O método também usa uma lista de escopos de token de comunicação. As opções de escopo incluem:

  • chat (Use isso para acesso completo às APIs de Chat)
  • voip (Use isso para acesso completo às APIs de Chamada)
  • chat.join (Acesso às APIs de Chat, mas sem autorização para criar, excluir ou atualizar threads 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 chamada, mas sem autorização para iniciar novas chamadas)
let { token } = await client.getToken(user, ["chat"]);

Para atualizar o token de usuário, emita outro token com o mesmo usuário.

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

Criando um token de usuário com expiração personalizada

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

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

Criando um usuário e um token em uma única solicitação

Para sua conveniência, use createUserAndToken para criar um novo usuário e emitir um token com uma chamada de função. Isso se traduz em uma única solicitação da Web em vez de criar um usuário primeiro e, em seguida, emitir um token.

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

Criando um usuário e um token com expiração personalizada em uma única solicitação

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

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

Revogando tokens para um usuário

Use o revokeTokens método para revogar todos os tokens emitidos para um usuário.

await client.revokeTokens(user);

Excluir um usuário

Use o deleteUser método para excluir um usuário.

await client.deleteUser(user);

Trocando Azure AD token de acesso de um usuário do Teams por um token de acesso de comunicação

Use getTokenForTeamsUser o método para trocar um token de acesso Azure AD de um usuário 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>",
});

Solução de problemas

Próximas etapas

Dê uma olhada no diretório de exemplos para obter exemplos detalhados sobre como usar essa biblioteca.

Contribuição

Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.

Impressões