Pular para o conteúdo
Skillpedia
E-mail e mensagens48 mil · #2298

azure-communication-common-java

Ajuda seu agente com utilitários comuns para comunicação. É usado para autenticação e gerenciamento de tokens em serviços de comunicação.

O que ela faz

Esta ferramenta ajuda desenvolvedores a gerenciar a autenticação e a identificar usuários em serviços de comunicação da Microsoft Azure. Ela facilita a conexão segura e o reconhecimento de diferentes tipos de usuários, como usuários do Azure Communication Services, números de telefone e usuários do Microsoft Teams.

Quando usar

  • ✓Ao configurar a autenticação para um novo aplicativo de comunicação.
  • ✓Quando precisar identificar um usuário específico em uma chamada ou chat.
  • ✓Ao implementar a atualização automática de tokens de acesso para manter a conexão ativa.

Exemplo do que pedir para a IA

“Como faço para configurar a autenticação para um usuário do Azure Communication Services usando um token?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-communication-common-java/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-communication-common-java/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela fornece blocos de código prontos que os desenvolvedores podem usar para autenticar usuários. Isso envolve a criação de objetos que representam os usuários e a configuração de como os tokens de acesso são gerenciados, incluindo atualizações automáticas.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill azure-communication-common-java

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-communication-common-java/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Azure Communication Common (Java)

Utilitários de autenticação compartilhados e estruturas de dados para Azure Communication Services.

Instalação

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

Conceitos Chave

Classe Propósito
CommunicationTokenCredential Autenticar usuários com serviços ACS
CommunicationTokenRefreshOptions Configurar atualização automática de token
CommunicationUserIdentifier Identificar usuários ACS
PhoneNumberIdentifier Identificar números de telefone PSTN
MicrosoftTeamsUserIdentifier Identificar usuários do Teams
UnknownIdentifier Identificador genérico para tipos desconhecidos

CommunicationTokenCredential

Token Estático (Clientes de Curta Duração)

import com.azure.communication.common.CommunicationTokenCredential;

// Simple static token - no refresh
String userToken = "<user-access-token>";
CommunicationTokenCredential credential = new CommunicationTokenCredential(userToken);

// Use with Chat, Calling, etc.
ChatClient chatClient = new ChatClientBuilder()
    .endpoint("https://<resource>.communication.azure.com")
    .credential(credential)
    .buildClient();

Atualização Proativa de Token (Clientes de Longa Duração)

import com.azure.communication.common.CommunicationTokenRefreshOptions;
import java.util.concurrent.Callable;

// Token refresher callback - called when token is about to expire
Callable<String> tokenRefresher = () -> {
    // Call your server to get a fresh token
    return fetchNewTokenFromServer();
};

// With proactive refresh
CommunicationTokenRefreshOptions refreshOptions = new CommunicationTokenRefreshOptions(tokenRefresher)
    .setRefreshProactively(true)      // Refresh before expiry
    .setInitialToken(currentToken);    // Optional initial token

CommunicationTokenCredential credential = new CommunicationTokenCredential(refreshOptions);

Atualização de Token Assíncrona

import java.util.concurrent.CompletableFuture;

// Async token fetcher
Callable<String> asyncRefresher = () -> {
    CompletableFuture<String> future = fetchTokenAsync();
    return future.get();  // Block until token is available
};

CommunicationTokenRefreshOptions options = new CommunicationTokenRefreshOptions(asyncRefresher)
    .setRefreshProactively(true);

CommunicationTokenCredential credential = new CommunicationTokenCredential(options);

Autenticação Entra ID (Azure AD)

import com.azure.identity.InteractiveBrowserCredentialBuilder;
import com.azure.communication.common.EntraCommunicationTokenCredentialOptions;
import java.util.Arrays;
import java.util.List;

// For Teams Phone Extensibility
InteractiveBrowserCredential entraCredential = new InteractiveBrowserCredentialBuilder()
    .clientId("<your-client-id>")
    .tenantId("<your-tenant-id>")
    .redirectUrl("<your-redirect-uri>")
    .build();

String resourceEndpoint = "https://<resource>.communication.azure.com";
List<String> scopes = Arrays.asList(
    "https://auth.msft.communication.azure.com/TeamsExtension.ManageCalls"
);

EntraCommunicationTokenCredentialOptions entraOptions = 
    new EntraCommunicationTokenCredentialOptions(entraCredential, resourceEndpoint)
        .setScopes(scopes);

CommunicationTokenCredential credential = new CommunicationTokenCredential(entraOptions);

Identificadores de Comunicação

CommunicationUserIdentifier

import com.azure.communication.common.CommunicationUserIdentifier;

// Create identifier for ACS user
CommunicationUserIdentifier user = new CommunicationUserIdentifier("8:acs:resource-id_user-id");

// Get raw ID
String rawId = user.getId();

PhoneNumberIdentifier

import com.azure.communication.common.PhoneNumberIdentifier;

// E.164 format phone number
PhoneNumberIdentifier phone = new PhoneNumberIdentifier("+14255551234");

String phoneNumber = phone.getPhoneNumber();  // "+14255551234"
String rawId = phone.getRawId();              // "4:+14255551234"

MicrosoftTeamsUserIdentifier

import com.azure.communication.common.MicrosoftTeamsUserIdentifier;

// Identificador de usuário do Teams
MicrosoftTeamsUserIdentifier teamsUser = new MicrosoftTeamsUserIdentifier("<teams-user-id>")
    .setCloudEnvironment(CommunicationCloudEnvironment.PUBLIC);

// Para usuários anônimos do Teams
MicrosoftTeamsUserIdentifier anonymousTeamsUser = new MicrosoftTeamsUserIdentifier("<teams-user-id>")
    .setAnonymous(true);

…
Perguntas frequentes

O que são 'identificadores'?

São formas de representar e distinguir diferentes tipos de usuários ou números de telefone dentro dos serviços de comunicação.

O que é um 'token'?

É uma chave temporária que permite que um usuário acesse os serviços de comunicação de forma segura.

Como o sistema lida com tokens que expiram?

Ele pode ser configurado para atualizar os tokens automaticamente antes que expirem, garantindo que a conexão do usuário não seja interrompida.

Detalhes

Descrição original do autor

Azure Communication Services common utilities for Java. Use when working with CommunicationTokenCredential, user identifiers, token refresh, or shared authentication across ACS services.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2298
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas