Biblioteka klienta pakietu tożsamości usługi Azure Communication dla języka Python — wersja 1.4.0
Pakiet klienta usługi Azure Communication Identity ma służyć do konfigurowania podstaw do otwierania sposobu korzystania z ofert usługi Azure Communication Service. Ten pakiet ułatwia tworzenie tokenów użytkownika tożsamości używanych przez inne pakiety klienckie, takie jak czat, rozmowy, wiadomości sms.
Kod | źródłowyPakiet (Pypi) | Pakiet (Conda) | Dokumentacja referencyjna interfejsu | APIDokumentacja produktu
Zrzeczenie odpowiedzialności
Obsługa pakietów języka Python zestawu Azure SDK dla języka Python 2.7 została zakończona 01 stycznia 2022 r. Aby uzyskać więcej informacji i pytań, zapoznaj się z artykułem https://github.com/Azure/azure-sdk-for-python/issues/20691
Wprowadzenie
Wymagania wstępne
- Do korzystania z tego pakietu wymagany jest język Python w wersji 3.7 lub nowszej.
- Musisz mieć subskrypcję platformy Azure
- Wdrożony zasób usług komunikacyjnych. Aby go skonfigurować, możesz użyć witryny Azure Portal lub Azure PowerShell.
Instalowanie pakietu
Zainstaluj bibliotekę klienta usługi Azure Communication Identity dla języka Python przy użyciu narzędzia pip:
pip install azure-communication-identity
Kluczowe pojęcia
CommunicationIdentityClient
CommunicationIdentityClient
udostępnia operacje dla:
Tworzenie/usuwanie tożsamości do użycia w Azure Communication Services. Te tożsamości mogą służyć do korzystania z ofert komunikacji platformy Azure i mogą mieć ograniczone możliwości za pośrednictwem zakresów tokenów.
Tworzenie/odwoływanie tokenów dostępu użytkownika w zakresie w celu uzyskiwania dostępu do usług, takich jak czat, rozmowy, wiadomości SMS. Tokeny są wystawiane dla prawidłowej tożsamości usługi Azure Communication i można je odwołać w dowolnym momencie.
Inicjowanie klienta tożsamości
# 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)
Przykłady
W poniższej sekcji przedstawiono kilka fragmentów kodu obejmujących niektóre z najbardziej typowych zadań Azure Communication Services, w tym:
- Tworzenie nowego użytkownika
- Wystawianie lub odświeżanie tokenu dostępu dla użytkownika
- Tworzenie użytkownika i tokenu w jednym żądaniu
- Cofanie tokenów dostępu użytkownika
- Usuwanie użytkownika
- Wymiana Azure AD tokenu dostępu użytkownika usługi Teams na potrzeby tokenu dostępu do tożsamości komunikacji
Tworzenie nowego użytkownika
create_user
Użyj metody , aby utworzyć nowego użytkownika.
user = identity_client.create_user()
print("User created with id:" + user.properties['id'])
Wystawianie lub odświeżanie tokenu dostępu dla użytkownika
get_token
Użyj metody , aby wydać lub odświeżyć token dostępu o określonym zakresie dla użytkownika.
Przekaż obiekt użytkownika jako parametr i listę .CommunicationTokenScope
Opcje zakresu to:
CHAT
(Użyj tego w celu uzyskania pełnego dostępu do interfejsów API czatu)VOIP
(Użyj tego w celu uzyskania pełnego dostępu do wywoływanych interfejsów API)CHAT_JOIN
(Dostęp do interfejsów API czatu, ale bez autoryzacji do tworzenia, usuwania lub aktualizowania wątków czatu)CHAT_JOIN_LIMITED
(Bardziej ograniczona wersja CHAT_JOIN, która nie zezwala na dodawanie lub usuwanie uczestników)VOIP_JOIN
(Dostęp do wywoływanych interfejsów API, ale bez autoryzacji do uruchamiania nowych wywołań)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)
Wystawianie lub odświeżanie tokenu dostępu z niestandardowym wygaśnięciem dla użytkownika
Możesz określić czas wygaśnięcia tokenu. Token można skonfigurować tak, aby wygasał w ciągu zaledwie jednej godziny lub nawet 24 godzin. Domyślny czas wygaśnięcia to 24 godziny.
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)
Tworzenie użytkownika i tokenu w jednym żądaniu
Dla wygody użyj polecenia create_user_and_token
, aby utworzyć nowego użytkownika i wydać token z jednym wywołaniem funkcji. Przekłada się to na jedno żądanie internetowe w przeciwieństwie do tworzenia użytkownika, a następnie wystawiania tokenu.
user, tokenresponse = identity_client.create_user_and_token(scopes=[CommunicationTokenScope.CHAT])
print("User id:" + user.properties['id'])
print("Token issued with value: " + tokenresponse.token)
Tworzenie użytkownika i tokenu z niestandardowym wygaśnięciem w jednym żądaniu
Możesz określić czas wygaśnięcia tokenu. Token można skonfigurować tak, aby wygasał w ciągu zaledwie jednej godziny lub nawet 24 godzin. Domyślny czas wygaśnięcia to 24 godziny.
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)
Cofanie tokenów dostępu użytkownika
Służy revoke_tokens
do odwoływanie wszystkich tokenów dostępu dla użytkownika. Przekazywanie obiektu użytkownika jako parametru
identity_client.revoke_tokens(user)
Usuwanie użytkownika
delete_user
Użyj metody , aby usunąć użytkownika. Przekazywanie obiektu użytkownika jako parametru
identity_client.delete_user(user)
Wymiana Azure AD tokenu dostępu użytkownika usługi Teams na potrzeby tokenu dostępu do tożsamości komunikacji
get_token_for_teams_user
Użyj metody , aby wymienić Azure AD token dostępu użytkownika usługi Teams dla nowego tokenu dostępu tożsamości komunikacji.
identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)
Rozwiązywanie problemów
Klient tożsamości usługi Azure Communication Service zgłosi wyjątki zdefiniowane w usłudze Azure Core.
Następne kroki
Więcej przykładów kodu
Zapoznaj się z katalogiem samples , aby zapoznać się ze szczegółowymi przykładami użycia tej biblioteki do zarządzania tożsamościami i tokenami.
Przekazywanie opinii
Jeśli wystąpią jakiekolwiek usterki lub sugestie, zgłoś problem w sekcji Problemy w projekcie
Współtworzenie
W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę https://cla.microsoft.com.
Po przesłaniu żądania ściągnięcia robot CLA automatycznie określi, czy musisz przekazać umowę CLA, i doda odpowiednie informacje do tego żądania (na przykład etykietę czy komentarz). Po prostu postępuj zgodnie z instrukcjami robota. Wystarczy zrobić to raz dla wszystkich repozytoriów, w przypadku których jest używana nasza umowa CLA.
W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.
Azure SDK for Python