Sdílet prostřednictvím


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

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

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.