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
- Uma assinatura do Azure.
- Um recurso existente dos Serviços de Comunicação. Se você precisar criar o recurso, poderá usar o Portal do Azure, o Azure PowerShell ou a CLI do Azure.
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.
Projetos relacionados
Azure SDK for JavaScript