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


Клиентская библиотека пакета удостоверений связи Azure для Python версии 1.4.0

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

Исходный код | Пакет (Pypi) | Пакет (Conda) | Справочная документация по | APIДокументация по продукту

Заявление об отказе

Поддержка пакетов Python для Пакета Sdk Azure для Python 2.7 закончилась 1 января 2022 г. Дополнительные сведения и вопросы см. на https://github.com/Azure/azure-sdk-for-python/issues/20691

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

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

  • Для использования этого пакета требуется Python 3.7 или более поздней версии.
  • У вас должна быть подписка Azure.
  • Развернутый ресурс Служб коммуникации. Для настройки можно использовать портал Azure или Azure PowerShell.

Установка пакета

Установите клиентую библиотеку удостоверений коммуникации Azure для Python с помощью pip:

pip install azure-communication-identity

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

CommunicationIdentityClient

CommunicationIdentityClient предоставляет операции для перечисленных ниже целей.

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

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

Инициализация клиента удостоверений

# You can find your endpoint and access token from your resource in the Azure Portal
import os
from azure.communication.identity import CommunicationIdentityClient
from azure.identity import DefaultAzureCredential

connection_str = "endpoint=ENDPOINT;accessKey=KEY"
endpoint = "https://<RESOURCE_NAME>.communication.azure.com"

# To use Azure Active Directory Authentication (DefaultAzureCredential) make sure to have
# AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET as env variables.
identity_client_managed_identity = CommunicationIdentityClient(endpoint, DefaultAzureCredential())

#You can also authenticate using your connection string
identity_client = CommunicationIdentityClient.from_connection_string(connection_str)

Примеры

В следующем разделе представлено несколько фрагментов кода, охватывающих некоторые из наиболее распространенных задач Службы коммуникации Azure, в том числе:

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

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

user = identity_client.create_user()
print("User created with id:" + user.properties['id'])

Выдача или обновление маркера доступа для пользователя

Используйте метод для get_token выдачи или обновления маркера доступа с заданной областью для пользователя.
Передайте объект пользователя в качестве параметра и список CommunicationTokenScope. Параметры области:

  • CHAT (Используйте его для полного доступа к API чата)
  • VOIP (Используйте его для полного доступа к API вызовов)
  • CHAT_JOIN (Доступ к API чата, но без разрешения на создание, удаление или обновление потоков чата)
  • CHAT_JOIN_LIMITED (Более ограниченная версия CHAT_JOIN, которая не позволяет добавлять или удалять участников.
  • VOIP_JOIN (Доступ к API вызовов, но без авторизации для запуска новых вызовов)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)

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

Вы можете указать срок действия маркера. Срок действия маркера может быть настроен на срок действия всего за один час или до 24 часов. По умолчанию срок действия составляет 24 часа.

token_expires_in = timedelta(hours=1)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT], token_expires_in=token_expires_in)
print("Token issued with value: " + tokenresponse.token)

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

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

user, tokenresponse = identity_client.create_user_and_token(scopes=[CommunicationTokenScope.CHAT])
print("User id:" + user.properties['id'])
print("Token issued with value: " + tokenresponse.token)

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

Вы можете указать срок действия маркера. Срок действия маркера может быть настроен на срок действия всего за один час или до 24 часов. По умолчанию срок действия составляет 24 часа.

token_expires_in = timedelta(hours=1)
user, tokenresponse = identity_client.create_user_and_token(scopes=[CommunicationTokenScope.CHAT], token_expires_in=token_expires_in)
print("User id:" + user.properties['id'])
print("Token issued with value: " + tokenresponse.token)

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

Используйте revoke_tokens , чтобы отозвать все маркеры доступа для пользователя. Передача пользовательского объекта в качестве параметра

identity_client.revoke_tokens(user)

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

delete_user Используйте метод для удаления пользователя. Передача пользовательского объекта в качестве параметра

identity_client.delete_user(user)

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

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

identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)

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

Клиент удостоверений Службы коммуникации Azure создает исключения, определенные в Azure Core.

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

Больше примеров кода

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

Отзывы

Если вы столкнулись с ошибками или у вас есть предложения, сообщите о проблеме в разделе Проблемы проекта.

Участие

На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Для получения подробных сведений посетите веб-страницу https://cla.microsoft.com.

При отправке запроса на включение внесенных изменений CLA-бот автоматически определит необходимость предоставления соглашения CLA и соответствующего оформления запроса на включение внесенных изменений (например, добавление метки, комментария). Просто следуйте инструкциям бота. Будет достаточно выполнить их один раз для всех репозиториев, поддерживающих соглашение CLA.

В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.