Delen via


Azure Communication Identity Package-clientbibliotheek voor Python - versie 1.4.0

Het Azure Communication Identity-clientpakket is bedoeld om de basisbeginselen in te stellen voor het openen van een manier om Azure Communication Service-aanbiedingen te gebruiken. Dit pakket helpt bij het maken van identiteitsgebruikerstokens die kunnen worden gebruikt door andere clientpakketten, zoals chatten, bellen en sms.

Broncode | Pakket (Pypi) | Pakket (Conda) | API-referentiedocumentatie | Productdocumentatie

Disclaimer

Ondersteuning voor Azure SDK Python-pakketten voor Python 2.7 is beëindigd op 1 januari 2022. Raadpleeg voor meer informatie en vragen https://github.com/Azure/azure-sdk-for-python/issues/20691

Aan de slag

Vereisten

Het pakket installeren

Installeer de Azure Communication Identity-clientbibliotheek voor Python met pip:

pip install azure-communication-identity

Belangrijkste concepten

CommunicationIdentityClient

CommunicationIdentityClient biedt bewerkingen voor:

  • Identiteiten maken/verwijderen die moeten worden gebruikt in Azure Communication Services. Deze identiteiten kunnen worden gebruikt om gebruik te maken van Azure Communication-aanbiedingen en kunnen worden ingesteld op beperkte mogelijkheden via tokenbereiken.

  • Toegangstokens voor gebruikers met bereik maken/intrekken om toegang te krijgen tot services zoals chatten, bellen en sms. Tokens worden uitgegeven voor een geldige Azure Communication-identiteit en kunnen op elk gewenst moment worden ingetrokken.

Identiteitsclient initialiseren

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

Voorbeelden

De volgende sectie bevat verschillende codefragmenten die betrekking hebben op enkele van de meest voorkomende Azure Communication Services taken, waaronder:

Een nieuwe gebruiker maken

Gebruik de create_user methode om een nieuwe gebruiker te maken.

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

Een toegangstoken voor een gebruiker uitgeven of vernieuwen

Gebruik de get_token methode om een toegangstoken met bereik voor de gebruiker uit te geven of te vernieuwen.
Geef het gebruikersobject door als een parameter en een lijst met CommunicationTokenScope. Bereikopties zijn:

  • CHAT (Gebruik dit voor volledige toegang tot chat-API's)
  • VOIP (Gebruik dit voor volledige toegang tot aanroep-API's)
  • CHAT_JOIN (Toegang tot chat-API's, maar zonder de autorisatie om chatthreads te maken, te verwijderen of bij te werken)
  • CHAT_JOIN_LIMITED (Een beperktere versie van CHAT_JOIN die niet toestaat om deelnemers toe te voegen of te verwijderen)
  • VOIP_JOIN (Toegang tot aanroepende API's, maar zonder autorisatie om nieuwe aanroepen te starten)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)

Een toegangstoken uitgeven of vernieuwen met een aangepaste vervaldatum voor een gebruiker

U kunt de verlooptijd voor het token opgeven. Het token kan worden geconfigureerd om in slechts één uur of 24 uur te verlopen. De standaardverlooptijd is 24 uur.

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)

Een gebruiker en een token maken in één aanvraag

Gebruik voor het gemak create_user_and_token om een nieuwe gebruiker te maken en een token uit te geven met één functieaanroep. Dit wordt omgezet in één webaanvraag in plaats van eerst een gebruiker te maken en vervolgens een token uit te geven.

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

Een gebruiker en een token met aangepaste vervaldatum maken in één aanvraag

U kunt de verlooptijd voor het token opgeven. Het token kan worden geconfigureerd om in slechts één uur of 24 uur te verlopen. De standaardverlooptijd is 24 uur.

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)

De toegangstokens van een gebruiker intrekken

Gebruik revoke_tokens om alle toegangstokens voor een gebruiker in te trekken. Het gebruikersobject doorgeven als parameter

identity_client.revoke_tokens(user)

Een gebruiker verwijderen

Gebruik de delete_user methode om een gebruiker te verwijderen. Het gebruikersobject doorgeven als parameter

identity_client.delete_user(user)

Het uitwisselen van Azure AD toegangstoken van een Teams-gebruiker voor een communicatie-id-toegangstoken

Gebruik de get_token_for_teams_user methode om een Azure AD toegangstoken van een Teams-gebruiker uit te wisselen voor een nieuw toegangstoken voor communicatie-identiteit.

identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)

Problemen oplossen

De Azure Communication Service Identity-client genereert uitzonderingen die zijn gedefinieerd in Azure Core.

Volgende stappen

Meer voorbeeldcode

Bekijk de map met voorbeelden voor gedetailleerde voorbeelden van het gebruik van deze bibliotheek voor het beheren van identiteiten en tokens.

Feedback geven

Als u fouten tegenkomt of suggesties hebt, kunt u een probleem melden in de sectie Problemen van het project

Bijdragen

Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar https://cla.microsoft.com voor meer informatie.

Wanneer u een pull-aanvraag indient, wordt met een CLA-bot automatisch bepaald of u een CLA moet verschaffen en wordt de pull-aanvraag dienovereenkomstig opgemaakt (bijvoorbeeld met een label of commentaar). Volg gewoon de instructies van de bot. U hoeft dit maar eenmaal te doen voor alle repo's waar gebruik wordt gemaakt van onze CLA.

Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie voor meer informatie de veelgestelde vragen over de gedragscode of neem contact op opencode@microsoft.com met eventuele aanvullende vragen of opmerkingen.