Klientská knihovna azure Communication Identity Package pro Python – verze 1.4.0
Balíček klienta Azure Communication Identity se má použít k nastavení základů pro otevření způsobu používání nabídek služby Azure Communication Service. Tento balíček pomáhá vytvářet tokeny identit uživatelů, které budou použity v jiných klientských balíčcích, jako je chat, volání nebo sms.
Zdrojový kód | Balíček (Pypi) | Balíček (Conda) | Referenční dokumentace k | rozhraní APIDokumentace k produktu
Právní omezení
Podpora balíčků Azure SDK Python pro Python 2.7 skončila 1. ledna 2022. Další informace a dotazy najdete na https://github.com/Azure/azure-sdk-for-python/issues/20691
Začínáme
Požadavky
- K použití tohoto balíčku se vyžaduje Python 3.7 nebo novější.
- Musíte mít předplatné Azure.
- Nasazený prostředek Komunikační služby K jeho nastavení můžete použít Azure Portal nebo Azure PowerShell.
Instalace balíčku
Nainstalujte klientskou knihovnu Azure Communication Identity pro Python pomocí pipu:
pip install azure-communication-identity
Klíčové koncepty
CommunicationIdentityClient
CommunicationIdentityClient
poskytuje operace pro:
Vytvoření nebo odstranění identit, které se mají použít v Azure Communication Services. Tyto identity je možné použít k využití nabídek Azure Communication a je možné je omezit na omezené schopnosti prostřednictvím oborů tokenů.
Vytvořte nebo odvoláte přístupové tokeny uživatele s vymezeným oborem pro přístup ke službám, jako je chat, volání nebo sms. Tokeny se vydávají pro platnou identitu Azure Communication a je možné je kdykoli odvolat.
Inicializace klienta identity
# 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)
Příklady
Následující část obsahuje několik fragmentů kódu, které pokrývají některé nejběžnější úlohy Azure Communication Services, mezi které patří:
- Vytvoření nového uživatele
- Vydání nebo aktualizace přístupového tokenu pro uživatele
- Vytvoření uživatele a tokenu v jednom požadavku
- Odvolání přístupových tokenů uživatele
- Odstranění uživatele
- Výměna přístupového tokenu Azure AD uživatele Teams za přístupový token komunikační identity
Vytvoření nového uživatele
create_user
Pomocí metody vytvořte nového uživatele.
user = identity_client.create_user()
print("User created with id:" + user.properties['id'])
Vydání nebo aktualizace přístupového tokenu pro uživatele
Použijte metodu get_token
k vydání nebo aktualizaci vymezeného přístupového tokenu pro uživatele.
Předejte objekt uživatele jako parametr a seznam CommunicationTokenScope
. Mezi možnosti oboru patří:
CHAT
(Tuto možnost použijte pro úplný přístup k chatovacím rozhraním API.)VOIP
(Použijte ho pro úplný přístup k rozhraním API pro volání.)CHAT_JOIN
(Přístup k chatovacím rozhraním API, ale bez oprávnění k vytváření, odstraňování nebo aktualizaci vláken chatu)CHAT_JOIN_LIMITED
(Omezenější verze CHAT_JOIN, která neumožňuje přidávat nebo odebírat účastníky.)VOIP_JOIN
(Přístup k rozhraním API pro volání, ale bez oprávnění ke spouštění nových volání)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)
Vydání nebo aktualizace přístupového tokenu s vlastním vypršením platnosti pro uživatele
Můžete zadat čas vypršení platnosti tokenu. Platnost tokenu je možné nakonfigurovat tak, aby vypršela za jednu hodinu nebo za 24 hodin. Výchozí doba vypršení platnosti je 24 hodin.
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)
Vytvoření uživatele a tokenu v jednom požadavku
Pro usnadnění přístupu použijte create_user_and_token
k vytvoření nového uživatele a vydání tokenu s jedním voláním funkce. To se převede na jeden webový požadavek, na rozdíl od vytvoření uživatele a následného vystavení 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)
Vytvoření uživatele a tokenu s vlastním vypršením platnosti v jednom požadavku
Můžete zadat čas vypršení platnosti tokenu. Platnost tokenu je možné nakonfigurovat tak, aby vypršela za jednu hodinu nebo za 24 hodin. Výchozí doba vypršení platnosti je 24 hodin.
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)
Odvolání přístupových tokenů uživatele
Slouží revoke_tokens
k odvolání všech přístupových tokenů pro uživatele. Předání objektu uživatele jako parametru
identity_client.revoke_tokens(user)
Odstranění uživatele
delete_user
K odstranění uživatele použijte metodu . Předání objektu uživatele jako parametru
identity_client.delete_user(user)
Výměna přístupového tokenu Azure AD uživatele Teams za přístupový token komunikační identity
get_token_for_teams_user
Pomocí metody vyměňte přístupový token Azure AD uživatele Teams za nový přístupový token identity komunikace.
identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)
Řešení potíží
Klient identity služby Azure Communication Service vyvolá výjimky definované v Azure Core.
Další kroky
Další ukázkový kód
Podrobné příklady použití této knihovny ke správě identit a tokenů najdete v adresáři samples .
Zadání zpětné vazby
Pokud narazíte na nějaké chyby nebo máte návrhy, zapište problém v části Problémy projektu.
Přispívání
Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete tady: https://cla.microsoft.com
Při odesílání žádosti o přijetí změn robot CLA automaticky určí, jestli je potřeba poskytnout smlouvu CLA, a příslušným způsobem žádost o přijetí změn upraví (např. přidáním jmenovky nebo komentáře). Stačí postupovat podle pokynů robota. Pro všechna úložiště používající naši smlouvu CLA to stačí udělat jenom jednou.
Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo se obraťte na opencode@microsoft.com případné další dotazy nebo komentáře.
Azure SDK for Python