Share via


Azure Communication Identity Package-Clientbibliothek für Python – Version 1.4.0

Das Azure Communication Identity-Clientpaket dient zum Einrichten der Grundlagen zum Öffnen einer Möglichkeit zur Verwendung von Azure Communication Service-Angeboten. Dieses Paket hilft beim Erstellen von Identitätsbenutzertoken, die von anderen Clientpaketen wie Chat, Anruf, SMS verwendet werden.

Quellcode | Paket (Pypi) | Paket (Conda) | API-Referenzdokumentation | Produktdokumentation

Haftungsausschluss

Die Unterstützung von Python-Paketen für Das Azure SDK für Python 2.7 wurde am 01. Januar 2022 eingestellt. Weitere Informationen und Antworten finden Sie unter https://github.com/Azure/azure-sdk-for-python/issues/20691.

Erste Schritte

Voraussetzungen

  • Für die Verwendung dieses Pakets ist Python 3.7 oder höher erforderlich.
  • Sie benötigen ein Azure-Abonnement.
  • Eine bereitgestellte Communication Services-Ressource. Sie können das Azure-Portal oder das Azure PowerShell verwenden, um es einzurichten.

Installieren des Pakets

Installieren Sie die Azure Communication Identity-Clientbibliothek für Python mit pip:

pip install azure-communication-identity

Wichtige Begriffe

CommunicationIdentityClient

CommunicationIdentityClient stellt Vorgänge für Folgendes bereit:

  • Erstellen/Löschen von Identitäten, die in Azure Communication Services verwendet werden sollen. Diese Identitäten können verwendet werden, um Azure Communication-Angebote zu nutzen und über Tokenbereiche eingeschränkte Fähigkeiten zu haben.

  • Erstellen/widerrufen Sie bereichsbezogene Benutzerzugriffstoken für den Zugriff auf Dienste wie Chat, Anrufe, SMS. Token werden für eine gültige Azure Communication-Identität ausgestellt und können jederzeit widerrufen werden.

Initialisieren des Identitätsclients

# 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)

Beispiele

Der folgende Abschnitt enthält mehrere Codeausschnitte, die einige der gängigsten Azure Communication Services Aufgaben behandeln, einschließlich:

Erstellen eines neuen Benutzers

Verwenden Sie die create_user -Methode, um einen neuen Benutzer zu erstellen.

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

Ausstellen oder Aktualisieren eines Zugriffstokens für einen Benutzer

Verwenden Sie die get_token -Methode, um ein bereichsbezogenes Zugriffstoken für den Benutzer auszustellen oder zu aktualisieren.
Übergeben Sie das Benutzerobjekt als Parameter und eine Liste von CommunicationTokenScope. Bereichsoptionen sind:

  • CHAT (Verwenden Sie dies für den vollständigen Zugriff auf Chat-APIs)
  • VOIP (Verwenden Sie dies für den Vollzugriff auf aufrufende APIs.)
  • CHAT_JOIN (Zugriff auf Chat-APIs, jedoch ohne die Autorisierung zum Erstellen, Löschen oder Aktualisieren von Chatthreads)
  • CHAT_JOIN_LIMITED (Eine eingeschränktere Version von CHAT_JOIN, die das Hinzufügen oder Entfernen von Teilnehmern nicht zulässt)
  • VOIP_JOIN (Zugriff auf aufrufende APIs, aber ohne die Autorisierung zum Starten neuer Aufrufe)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)

Ausgeben oder Aktualisieren eines Zugriffstokens mit benutzerdefiniertem Ablauf für einen Benutzer

Sie können die Ablaufzeit für das Token angeben. Das Token kann so konfiguriert werden, dass es in nur einer Stunde oder bis zu 24 Stunden abläuft. Die Standardablaufzeit beträgt 24 Stunden.

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)

Erstellen eines Benutzers und eines Tokens in einer einzelnen Anforderung

Verwenden create_user_and_token Sie der Einfachheit halber, um einen neuen Benutzer zu erstellen und ein Token mit einem Funktionsaufruf auszustellen. Dies wird in eine einzelne Webanforderung übersetzt, anstatt zuerst einen Benutzer zu erstellen und dann ein Token auszugeben.

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

Erstellen eines Benutzers und eines Tokens mit benutzerdefiniertem Ablauf in einer einzelnen Anforderung

Sie können die Ablaufzeit für das Token angeben. Das Token kann so konfiguriert werden, dass es in nur einer Stunde oder bis zu 24 Stunden abläuft. Die Standardablaufzeit beträgt 24 Stunden.

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)

Aufheben der Zugriffstoken eines Benutzers

Verwenden Sie revoke_tokens , um alle Zugriffstoken für einen Benutzer zu widerrufen. Übergeben des Benutzerobjekts als Parameter

identity_client.revoke_tokens(user)

Löschen eines Benutzers

Verwenden Sie die delete_user -Methode, um einen Benutzer zu löschen. Übergeben des Benutzerobjekts als Parameter

identity_client.delete_user(user)

Austauschen des Azure AD-Zugriffstokens eines Teams-Benutzers gegen ein Kommunikationsidentitäts-Zugriffstoken

Verwenden Sie die get_token_for_teams_user -Methode, um ein Azure AD-Zugriffstoken eines Teams-Benutzers gegen ein neues Kommunikationsidentitätszugriffstoken auszutauschen.

identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)

Problembehandlung

Der Azure Communication Service Identity-Client löst die in Azure Core definierten Ausnahmen aus.

Nächste Schritte

Weiterer Beispielcode

Sehen Sie sich das Beispielverzeichnis an, um detaillierte Beispiele für die Verwendung dieser Bibliothek zum Verwalten von Identitäten und Token zu erhalten.

Feedback geben

Wenn Sie Fehler oder Vorschläge haben, melden Sie ein Problem im Abschnitt Probleme des Projekts.

Mitwirken

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.

Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.