Share via


Biblioteca de clientes comuns do Serviço de Comunicação do Azure para Java – versão 1.2.13

A Comunicação Comum do Azure contém estruturas de dados comumente usadas para se comunicar com Serviços de Comunicação do Azure. Ele destina-se a fornecer preocupações de corte cruzado, por exemplo, autenticação.

Introdução

Pré-requisitos

Incluir o arquivo da BOM

Inclua o azure-sdk-bom em seu projeto para assumir a dependência da versão ga (disponibilidade geral) da biblioteca. No trecho a seguir, substitua o espaço reservado {bom_version_to_target} pelo número de versão. Para saber mais sobre o BOM, consulte o BOM README do SDK do AZURE.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Depois, inclua a dependência direta na seção de dependências sem a marca de versão.

<dependencies>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-common</artifactId>
  </dependency>
</dependencies>

Incluir dependência direta

Se você quiser assumir a dependência de uma versão específica da biblioteca que não está presente no BOM, adicione a dependência direta ao seu projeto da seguinte maneira.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-common</artifactId>
    <version>1.2.13</version>
</dependency>

Principais conceitos

Para trabalhar com Serviços de Comunicação do Azure, uma chave de acesso a recursos é usada para autenticação.

O Serviço de Comunicação do Azure dá suporte à autenticação HMAC com a chave de acesso ao recurso. Para aplicar a autenticação HMAC, construa CommunicationClientCredential com a chave de acesso e instancie um CommunicationIdentityClient para gerenciar usuários e tokens.

CommunicationTokenCredential

O CommunicationTokenCredential objeto é usado para autenticar um usuário com os Serviços de Comunicação, como Chat ou Chamada. Opcionalmente, ele fornece um mecanismo de atualização automática para garantir um estado de autenticação continuamente estável durante as comunicações.

Dependendo do cenário, talvez você queira inicializar o CommunicationTokenCredential 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 (por exemplo, ideal para sessões de chamada longas).

Os tokens fornecidos para o CommunicationTokenCredential 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, atualizar o token após a expiração não é necessário e CommunicationTokenCredential pode ser instanciado com um token estático.

String token = System.getenv("COMMUNICATION_SERVICES_USER_TOKEN");
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(token);

Criar uma credencial com atualização proativa com um retorno de chamada

Como alternativa, para clientes de longa duração, você pode criar um CommunicationTokenCredential com um retorno de chamada para renovar tokens se expirar. Aqui, presumimos que temos uma função fetchTokenFromMyServerForUser que faz uma solicitação de rede para recuperar uma cadeia de caracteres de token para um usuário. É necessário que a fetchTokenFromMyServerForUser função retorne um token válido (com uma data de validade definida no futuro) em todos os momentos.

Opcionalmente, você pode habilitar a atualização proativa do token em que um novo token será adquirido assim que o token anterior se aproximar da expiração. Usando esse método, suas solicitações são menos propensas a serem bloqueadas para adquirir um novo token:

String token = System.getenv("COMMUNICATION_SERVICES_USER_TOKEN");
CommunicationTokenRefreshOptions tokenRefreshOptions = new CommunicationTokenRefreshOptions(fetchTokenFromMyServerForUser)
    .setRefreshProactively(true)
    .setInitialToken(token);
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(tokenRefreshOptions);     

Solução de problemas

Em andamento.

Próximas etapas

Confira outras bibliotecas de clientes para o serviço de comunicação do Azure

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder e de fato concede, os direitos de usar sua contribuição.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.