Клиентская библиотека Azure Communication Common для JavaScript версии 2.3.1
Этот пакет содержит общий код для библиотек Службы коммуникации Azure.
Начало работы
Предварительные требования
- Подписка Azure.
- Существующий ресурс Служб коммуникации. Если вам нужно создать ресурс, можно использовать портал Azure, Azure PowerShell или Azure CLI.
Установка
npm install @azure/communication-common
Поддержка браузеров
Пакет JavaScript
Чтобы использовать эту клиентную библиотеку в браузере, сначала необходимо использовать средство пакетной установки. Дополнительные сведения о том, как это сделать, см. в нашей документации по объединениям.
Основные понятия
CommunicationTokenCredential и AzureCommunicationTokenCredential
CommunicationTokenCredential
— это интерфейс, используемый для проверки подлинности пользователя в Службах коммуникации, таких как чат или звонки.
Предоставляет AzureCommunicationTokenCredential
удобный способ создания учетных данных, реализующих указанный интерфейс, и позволяет воспользоваться преимуществами встроенной логики автоматического обновления.
В зависимости от сценария может потребоваться инициализировать AzureCommunicationTokenCredential
с помощью:
- статический маркер (подходит для кратковременных клиентов, используемых, например, для отправки одноразовых сообщений чата) или
- функция обратного вызова, которая обеспечивает состояние непрерывной проверки подлинности во время обмена данными (идеально подходит для длительных сеансов вызова).
Маркеры, предоставленные в объект с AzureCommunicationTokenCredential
помощью конструктора или с помощью обратного вызова средства обновления маркеров, можно получить с помощью библиотеки удостоверений связи Azure.
Примеры
Создание учетных данных со статическим маркером
Для кратковременных клиентов обновление маркера по истечении срока действия не требуется, и AzureCommunicationTokenCredential
экземпляр может быть создан со статическим маркером.
const tokenCredential = new AzureCommunicationTokenCredential(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);
Создание учетных данных с обратным вызовом
Здесь предполагается, что у нас есть функция fetchTokenFromMyServerForUser
, которая выполняет сетевой запрос для получения строки токена JWT для пользователя. Мы передадим его в учетные данные, чтобы получить маркер для Боба с нашего собственного сервера. Наш сервер будет использовать библиотеку удостоверений связи Azure для выдачи маркеров. Необходимо, чтобы fetchTokenFromMyServerForUser
функция всегда возвращала допустимый маркер (с датой окончания срока действия в будущем).
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});
Создание учетных данных с упреждающим обновлением
Если refreshProactively
задано значение true, функция будет вызываться tokenRefresher
, когда срок действия маркера близок к сроку действия.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
});
Создание учетных данных с упреждающим обновлением и начальным маркером
Передача initialToken
является необязательной оптимизацией для пропуска первого вызова tokenRefresher
. Его можно использовать для отделения загрузки приложения от последующих циклов обновления маркера.
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});
Устранение неполадок
- Указан недопустимый маркер. Убедитесь, что маркер, который передается конструктору
AzureCommunicationTokenCredential
или обратномуtokenRefresher
вызову, является пустой строкой маркера JWT. Например, если вы используете библиотеку удостоверений связи Azure или REST API для получения маркера, передайте толькоtoken
часть объекта ответа.
Дальнейшие действия
Участие
Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.
Связанные проекты
Azure SDK for JavaScript