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
- Python 3.7 eller senare krävs för att använda det här paketet.
- Du måste ha en Azure-prenumeration
- En distribuerad Communication Services-resurs. Du kan använda Azure-portalen eller Azure PowerShell för att konfigurera den.
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
- Utfärda eller uppdatera en åtkomsttoken för en användare
- Skapa en användare och en token i en enda begäran
- Återkalla en användares åtkomsttoken
- Ta bort en användare
- Utbyta Azure AD åtkomsttoken för en Teams-användare mot en kommunikationsidentitetsåtkomsttoken
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.
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för