Поделиться через


Клиентская библиотека Azure Communication Common для JavaScript версии 2.3.1

Этот пакет содержит общий код для библиотек Службы коммуникации Azure.

Начало работы

Предварительные требования

Установка

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 часть объекта ответа.

Дальнейшие действия

Участие

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

Просмотры