Biblioteca de cliente comum do Azure Communication para JavaScript – versão 2.3.1
Este pacote contém código comum para bibliotecas do Azure Communication Service.
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-common
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
CommunicationTokenCredential e AzureCommunicationTokenCredential
É CommunicationTokenCredential
uma interface utilizada para autenticar um utilizador com os Serviços de Comunicação, como Chat ou Chamadas.
O AzureCommunicationTokenCredential
oferece uma forma conveniente de criar uma credencial que implementa a referida interface e permite-lhe tirar partido da lógica de atualização automática incorporada.
Consoante o seu cenário, poderá querer inicializar com AzureCommunicationTokenCredential
:
- um token estático (adequado para clientes de curta duração utilizados para, por exemplo, enviar mensagens de Chat únicas) ou
- uma função de chamada de retorno que garante um estado de autenticação contínua durante as comunicações (ideal, por exemplo, para sessões de Chamadas longas).
Os tokens fornecidos ao AzureCommunicationTokenCredential
através do construtor ou através da chamada de retorno do atualizador de tokens podem ser obtidos com a biblioteca do Azure Communication Identity.
Exemplos
Criar uma credencial com um token estático
Para clientes de curta duração, a atualização do token após a expiração não é necessária e o AzureCommunicationTokenCredential
pode ser instanciado com um token estático.
const tokenCredential = new AzureCommunicationTokenCredential(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);
Criar uma credencial com uma chamada de retorno
Aqui, partimos do princípio de que temos uma função fetchTokenFromMyServerForUser
que faz um pedido de rede para obter uma cadeia de token JWT para um utilizador. Transmitimo-lo para a credencial para obter um token para o Bob a partir do nosso próprio servidor. O nosso servidor utilizaria a biblioteca do Azure Communication Identity para emitir tokens. É necessário que a fetchTokenFromMyServerForUser
função devolva sempre um token válido (com uma data de expiração definida no futuro).
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});
Criar uma credencial com atualização proativa
Definir refreshProactively
como verdadeiro chamará a função tokenRefresher
quando o token estiver perto da expiração.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
});
Criar uma credencial com atualização proativa e um token inicial
A transmissão initialToken
é uma otimização opcional para ignorar a primeira chamada para tokenRefresher
. Pode utilizá-lo para separar o arranque da aplicação dos ciclos de atualização de tokens subsequentes.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});
Resolução de problemas
- Token inválido especificado: certifique-se de que o token que está a transmitir para o
AzureCommunicationTokenCredential
construtor ou para atokenRefresher
chamada de retorno é uma cadeia de token JWT simples. Por exemplo, se estiver a utilizar a biblioteca do Azure Communication Identity ou a API REST para obter o token, confirme que está a transmitir apenas atoken
parte do objeto de resposta.
Passos seguintes
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