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
- Python 3.7 of hoger is vereist voor het gebruik van dit pakket.
- U moet een Azure-abonnement hebben
- Een geïmplementeerde Communication Services-resource. U kunt de Azure-portal of de Azure PowerShell gebruiken om dit in te stellen.
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
- Een toegangstoken voor een gebruiker uitgeven of vernieuwen
- Een gebruiker en een token maken in één aanvraag
- De toegangstokens van een gebruiker intrekken
- Een gebruiker verwijderen
- Het uitwisselen van Azure AD toegangstoken van een Teams-gebruiker voor een communicatie-id-toegangstoken
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.
Azure SDK for Python