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
- Ausstellen oder Aktualisieren eines Zugriffstokens für einen Benutzer
- Erstellen eines Benutzers und eines Tokens in einer einzelnen Anforderung
- Aufheben der Zugriffstoken eines Benutzers
- Löschen eines Benutzers
- Austauschen des Azure AD-Zugriffstokens eines Teams-Benutzers gegen ein Kommunikationsidentitäts-Zugriffstoken
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.
Azure SDK for Python