技能 azure-communication-common-java
📦

azure-communication-common-java

安全

Реализация аутентификации Azure Communication Services на Java

Интеграция аутентификации Azure Communication Services требует управления токенами учетных данных и идентификаторами пользователей. Этот навык предоставляет готовые к использованию шаблоны для обновления токенов, обработки идентификаторов и безопасной аутентификации в сервисах ACS.

支持: Claude Codex Code(CC)
🥉 72 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“azure-communication-common-java”。 Создайте учетные данные с обновлением токена, которые вызывают мою конечную точку сервера

预期结果:

CommunicationTokenRefreshOptions refreshOptions = new CommunicationTokenRefreshOptions(this::fetchNewToken)
.setRefreshProactively(true)
.setInitialToken(initialToken);

CommunicationTokenCredential credential = new CommunicationTokenCredential(refreshOptions);

// Учетные данные будут автоматически обновлять токены до истечения срока действия

正在使用“azure-communication-common-java”。 Разберите этот необработанный идентификатор: 8:acs:resource_id_user_id

预期结果:

CommunicationIdentifier identifier = parseIdentifier("8:acs:resource_id_user_id");
// Возвращает: CommunicationUserIdentifier
String userId = ((CommunicationUserIdentifier) identifier).getId();
// userId = "8:acs:resource_id_user_id"

安全审计

安全
v1 • 2/24/2026

Static analysis flagged 38 external_commands and 4 network patterns, but all are FALSE POSITIVES. The backtick patterns are Markdown code block delimiters (```java, ```xml), not shell execution. URLs are placeholder documentation examples. This is purely educational documentation for Azure Communication Services Java SDK with no security risks.

1
已扫描文件
310
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
31
社区
100
安全
100
规范符合性

你能构建什么

Чат-приложение с автоматическим обновлением

Создайте долгоживущий клиент чата, который автоматически обновляет токены доступа до истечения срока их действия, обеспечивая бесперебойную связь для пользователей.

Интеграция Teams с Entra ID

Аутентифицируйте пользователей Teams с помощью Azure AD для сценариев расширяемости Phone с правильным управлением областями.

Управление множественными идентификаторами пользователей

Разбирайте и обрабатывайте различные типы идентификаторов пользователей (пользователи ACS, номера телефонов, пользователи Teams) из необработанных идентификаторов унифицированным способом.

试试这些提示

Базовые учетные данные токена
Создайте CommunicationTokenCredential со статическим токеном доступа пользователя для кратковременного клиента Chat с использованием конечной точки https://myresource.communication.azure.com
Проактивное обновление токена
Настройте CommunicationTokenCredential с проактивным обновлением токена с использованием Callable, который получает новые токены с вашей конечной точки токенов до истечения срока действия
Аутентификация Entra ID для Teams
Настройте CommunicationTokenCredential с использованием аутентификации Azure AD и InteractiveBrowserCredential для расширяемости Teams Phone, включая правильные области для управления вызовами
Разбор и обработка идентификаторов
Напишите метод, который разбирает строку необработанного идентификатора и возвращает соответствующий тип CommunicationIdentifier (CommunicationUserIdentifier, PhoneNumberIdentifier, MicrosoftTeamsUserIdentifier или UnknownIdentifier), затем обрабатывает каждый тип соответствующим образом

最佳实践

  • Всегда включайте setRefreshProactively(true) для долгоживущих клиентов, чтобы предотвратить сбои аутентификации во время активных сеансов
  • Никогда не логируйте и не раскрывайте полные токены доступа - показывайте только усеченные части для отладки
  • Закрывайте учетные данные с помощью try-with-resources или явного close(), когда они больше не нужны для освобождения ресурсов

避免

  • Использование статических токенов без обновления для долгоработающих приложений - токены истекут и вызовут сбои
  • Логирование полных токенов доступа или включение их в сообщения об ошибках - угроза безопасности
  • Игнорирование исключений обновления токенов - ваше приложение потеряет аутентификацию без уведомления

常见问题

Как часто вызывается обратный вызов обновления токена?
При setRefreshProactively(true) SDK обновляет токен до истечения его срока действия (обычно при 50% времени жизни токена). Без проактивного обновления вы должны вручную вызывать updateToken() до истечения срока действия.
В чем разница между CommunicationUserIdentifier и PhoneNumberIdentifier?
CommunicationUserIdentifier представляет пользователя ACS с идентификатором в формате GUID. PhoneNumberIdentifier представляет номер телефона PSTN в формате E.164. Используйте соответствующий тип в зависимости от того, общаетесь ли вы с пользователями ACS или номерами телефонов.
Как обрабатывать анонимных пользователей Teams?
Создайте MicrosoftTeamsUserIdentifier и вызовите setAnonymous(true). Это используется для сценариев собраний Teams, где пользователи присоединяются без аутентификации.
Можно ли использовать этот навык с Azure Communication Services в государственных облаках?
Да. Используйте CommunicationCloudEnvironment.GCCH для US Government Community Cloud или CommunicationCloudEnvironment.DOD для облака Министерства обороны при создании идентификаторов.
Что произойдет, если обратный вызов обновления токена выбросит исключение?
SDK повторит попытку обновления. Однако если обновление продолжает не удаваться, срок действия учетных данных в конечном итоге истечет. Реализуйте правильную обработку ошибок и логирование в обратном вызове обновления.
Нужно ли освобождать CommunicationTokenCredential?
Да. Вызовите close() по завершении или используйте try-with-resources. Это останавливает таймер обновления и освобождает все удерживаемые ресурсы.

开发者详情

文件结构

📄 SKILL.md