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
- Uma subscrição do Azure.
- Um recurso existente do Communication Services. Se precisar de criar o recurso, pode utilizar o Portal do Azure, o Azure PowerShell ou a CLI do Azure.
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.
Projetos relacionados
Azure SDK for JavaScript