Share via


Klientbibliotek för Azure Communication Identity Package för Python – version 1.4.0

Azure Communication Identity-klientpaketet är avsett att användas för att konfigurera grunderna för att öppna ett sätt att använda Azure Communication Service-erbjudanden. Det här paketet hjälper till att skapa identitetsanvändartoken som ska användas av andra klientpaket som chatt, samtal, sms.

| KällkodPaket (Pypi) | Paket (Conda) | API-referensdokumentation | Produktdokumentation

Friskrivning

Stöd för Azure SDK Python-paket för Python 2.7 upphörde den 1 januari 2022. Mer information och frågor finns i https://github.com/Azure/azure-sdk-for-python/issues/20691

Komma igång

Förutsättningar

Installera paketet

Installera Klientbiblioteket för Azure Communication Identity för Python med pip:

pip install azure-communication-identity

Viktiga begrepp

CommunicationIdentityClient

CommunicationIdentityClient tillhandahåller åtgärder för:

  • Skapa/ta bort identiteter som ska användas i Azure Communication Services. Dessa identiteter kan användas för att använda Azure Communication-erbjudanden och kan begränsas till att ha begränsade funktioner via tokenomfång.

  • Skapa/återkalla begränsade användaråtkomsttoken för att få åtkomst till tjänster som chatt, samtal, sms. Token utfärdas för en giltig Azure-kommunikationsidentitet och kan återkallas när som helst.

Initiera identitetsklient

# 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)

Exempel

Följande avsnitt innehåller flera kodfragment som täcker några av de vanligaste Azure Communication Services uppgifter, inklusive:

Skapa en ny användare

create_user Använd metoden för att skapa en ny användare.

user = identity_client.create_user()
print("User created with id:" + user.properties['id'])

Utfärda eller uppdatera en åtkomsttoken för en användare

get_token Använd metoden för att utfärda eller uppdatera en begränsad åtkomsttoken för användaren.
Skicka in användarobjektet som en parameter och en lista med CommunicationTokenScope. Omfångsalternativ är:

  • CHAT (Använd detta för fullständig åtkomst till chatt-API:er)
  • VOIP (Använd detta för fullständig åtkomst till anropande API:er)
  • CHAT_JOIN (Åtkomst till chatt-API:er men utan behörighet att skapa, ta bort eller uppdatera chatttrådar)
  • CHAT_JOIN_LIMITED (En mer begränsad version av CHAT_JOIN som inte tillåter att deltagare läggs till eller avlägsnas)
  • VOIP_JOIN (Åtkomst till anropande API:er men utan behörighet att starta nya anrop)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)

Utfärda eller uppdatera en åtkomsttoken med anpassad förfallotid för en användare

Du kan ange förfallotid för token. Token kan konfigureras så att den upphör att gälla om så lite som en timme eller så länge som 24 timmar. Standardtid för förfallotid är 24 timmar.

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)

Skapa en användare och en token i en enda begäran

För enkelhetens skull kan du använda create_user_and_token för att skapa en ny användare och utfärda en token med ett funktionsanrop. Detta översätts till en enda webbbegäran i stället för att skapa en användare först och sedan utfärda en token.

user, tokenresponse = identity_client.create_user_and_token(scopes=[CommunicationTokenScope.CHAT])
print("User id:" + user.properties['id'])
print("Token issued with value: " + tokenresponse.token)

Skapa en användare och en token med anpassad förfallotid i en enda begäran

Du kan ange förfallotid för token. Token kan konfigureras så att den upphör att gälla om så lite som en timme eller så länge som 24 timmar. Standardtid för förfallotid är 24 timmar.

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)

Återkalla en användares åtkomsttoken

Använd revoke_tokens för att återkalla alla åtkomsttoken för en användare. Skicka in användarobjektet som en parameter

identity_client.revoke_tokens(user)

Ta bort en användare

delete_user Använd metoden för att ta bort en användare. Skicka in användarobjektet som en parameter

identity_client.delete_user(user)

Utbyta Azure AD åtkomsttoken för en Teams-användare mot en kommunikationsidentitetsåtkomsttoken

get_token_for_teams_user Använd metoden för att byta ut en Azure AD åtkomsttoken för en Teams-användare mot en ny åtkomsttoken för kommunikationsidentitet.

identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)

Felsökning

Azure Communication Service Identity-klienten skapar undantag som definierats i Azure Core.

Nästa steg

Mer exempelkod

Ta en titt på exempelkatalogen för detaljerade exempel på hur du använder det här biblioteket för att hantera identiteter och token.

Ge feedback

Om du stöter på buggar eller har förslag kan du skicka in ett problem i avsnittet Problem i projektet

Bidra

Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns på https://cla.microsoft.com.

När du skickar en pull-förfrågan avgör en CLA-robot automatiskt om du måste tillhandahålla ett licensavtal för bidrag med lämplig PR (t.ex. etikett eller kommentar). Följ bara robotens anvisningar. Du behöver bara göra detta en gång för alla repor som använder vårt licensavtal för bidrag.

Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekoden eller kontakta opencode@microsoft.com med ytterligare frågor eller kommentarer.