Клиентская библиотека удостоверений связи Azure для JavaScript версии 1.3.1
Библиотека удостоверений используется для управления пользователями и маркерами для Службы коммуникации Azure.
Начало работы
Предварительные требования
- Подписка Azure.
- Существующий ресурс Служб коммуникации. Если вам нужно создать ресурс, можно использовать портал Azure, Azure PowerShell или Azure CLI.
Установка
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>",
});
Устранение неполадок
Дальнейшие действия
Подробные примеры использования этой библиотеки см. в каталоге примеров .
Участие
Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.
Связанные проекты
Azure SDK for JavaScript