Biblioteca de cliente Comum de Comunicação do Azure para JavaScript – versão 2.3.1
Esse pacote contém código comum para bibliotecas do Serviço 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-common
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
CommunicationTokenCredential e AzureCommunicationTokenCredential
O CommunicationTokenCredential
é uma interface usada para autenticar um usuário com os Serviços de Comunicação, como Chat ou Chamada.
O AzureCommunicationTokenCredential
oferece uma maneira conveniente de criar uma credencial implementando a determinada interface e permite que você aproveite a lógica interna de atualização automática.
Dependendo do cenário, talvez você queira inicializar o AzureCommunicationTokenCredential
com:
- um token estático (adequado para clientes de curta duração usados para, por exemplo, enviar mensagens de Chat pontuais) ou
- uma função de retorno de chamada que garante um estado de autenticação contínua durante as comunicações (por exemplo, ideal para sessões de chamada longas).
Os tokens fornecidos para o AzureCommunicationTokenCredential
por meio do construtor ou por meio do retorno de chamada do atualizador de token podem ser obtidos usando a biblioteca de Identidade de Comunicação do Azure.
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 um retorno de chamada
Aqui, assumimos que temos uma função fetchTokenFromMyServerForUser
que faz uma solicitação de rede para recuperar uma cadeia de caracteres de token JWT para um usuário. Passamos para a credencial para buscar um token para Bob do nosso próprio servidor. Nosso servidor usaria a biblioteca de Identidade de Comunicação do Azure para emitir tokens. É necessário que a fetchTokenFromMyServerForUser
função retorne um token válido (com uma data de validade definida no futuro) em todos os momentos.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});
Criar uma credencial com atualização proativa
A configuração refreshProactively
como true chamará sua tokenRefresher
função quando o token estiver próximo 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
Passar initialToken
é uma otimização opcional para ignorar a primeira chamada para tokenRefresher
. Você pode usar isso para separar a inicialização do aplicativo dos ciclos de atualização de token subsequentes.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});
Solução de problemas
- Token inválido especificado: verifique se o token que você está passando para o
AzureCommunicationTokenCredential
construtor ou para otokenRefresher
retorno de chamada é uma cadeia de caracteres de token JWT nua. Por exemplo, se você estiver usando a biblioteca de Identidade de Comunicação do Azure ou a API REST para obter o token, verifique se está passando apenas atoken
parte do objeto de resposta.
Próximas etapas
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