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

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

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.