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


Клиентская библиотека удостоверений связи Azure для JavaScript версии 1.3.1

Библиотека удостоверений используется для управления пользователями и маркерами для Службы коммуникации Azure.

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

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

Установка

npm install @azure/communication-identity

Поддержка браузеров

Пакет JavaScript

Чтобы использовать эту клиентную библиотеку в браузере, сначала необходимо использовать средство пакетной установки. Дополнительные сведения о том, как это сделать, см. в нашей документации по объединениям.

Основные понятия

Клиенты

Предоставляет CommunicationIdentityClient методы для управления пользователями и их токенами.

Примеры

Аутентификация

Ключ и (или) строка подключения можно получить из ресурса Служб коммуникации на портале Azure. Получив ключ, вы можете пройти проверку подлинности CommunicationIdentityClient с помощью любого из следующих методов:

Создание KeyCredential с AzureKeyCredential до инициализации клиента

import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";

const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(ENDPOINT, credential);

Использование строка подключения

import { CommunicationIdentityClient } from "@azure/communication-identity";

const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);

Использование TokenCredential

import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";

const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(ENDPOINT, credential);

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

Использование

Создание экземпляра CommunicationIdentityClient

import { CommunicationIdentityClient } from "@azure/communication-identity";

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Создание нового пользователя

Используйте метод для createUser создания нового пользователя.

const user = await client.createUser();

Создание и обновление маркера пользователя

Используйте метод для getToken выдачи или обновления маркера для существующего пользователя. Метод также принимает список областей маркеров связи. К параметрам области относятся:

  • chat (Используйте его для полного доступа к API чата)
  • voip (Используйте его для полного доступа к API вызовов)
  • chat.join (Доступ к API чата, но без разрешения на создание, удаление или обновление потоков чата)
  • chat.join.limited (Более ограниченная версия chat.join, которая не позволяет добавлять или удалять участников)
  • voip.join (Доступ к API вызовов, но без авторизации для запуска новых вызовов)
let { token } = await client.getToken(user, ["chat"]);

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

let { token } = await client.getToken(user, ["chat"]);

Создание маркера пользователя с пользовательским сроком действия

Кроме того, можно создать маркер доступа удостоверения связи, настроив срок действия. Срок действия маркера должен составлять [60 1440] минут. Если этот параметр не указан, будет использоваться значение по умолчанию 1440 минут (24 часа).

const tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let { token } = await client.getToken(user, ["chat"], tokenOptions);

Создание пользователя и маркера в одном запросе

Для удобства используйте createUserAndToken для создания нового пользователя и выдачи маркера с одним вызовом функции. Это преобразуется в один веб-запрос, а не сначала создание пользователя, а затем выдача маркера.

let { user, token } = await client.createUserAndToken(["chat"]);

Создание пользователя и маркера с пользовательским сроком действия в одном запросе

Кроме того, можно создать маркер доступа удостоверения связи, настроив срок действия. Срок действия маркера должен составлять [60 1440] минут. Если этот параметр не указан, будет использоваться значение по умолчанию 1440 минут (24 часа).

const userAndTokenOptions: CreateUserAndTokenOptions = { tokenExpiresInMinutes: 60 };
let { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);

Отзыв маркеров для пользователя

Используйте метод , revokeTokens чтобы отозвать все выданные маркеры для пользователя.

await client.revokeTokens(user);

Удаление пользователя

deleteUser Используйте метод для удаления пользователя.

await client.deleteUser(user);

Обмен Azure AD маркера доступа пользователя Teams на маркер доступа к обмену данными

Используйте getTokenForTeamsUser метод для обмена маркера доступа Azure AD пользователя Teams на новый CommunicationAccessToken с соответствующим временем истечения срока действия.

await client.getTokenForTeamsUser({
  teamsUserAadToken: "<aad-access-token-of-a-teams-user>",
  clientId: "<cliend-id-of-an-aad-application>",
  userObjectId: "<aad-object-id-of-a-teams-user>",
});

Устранение неполадок

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

Подробные примеры использования этой библиотеки см. в каталоге примеров .

Участие

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

Просмотры