Libreria client di Azure Communication Identity Package per Python - versione 1.4.0
Il pacchetto client di Identità di comunicazione di Azure deve essere usato per configurare le nozioni di base per l'apertura di un modo per usare le offerte del servizio di comunicazione di Azure. Questo pacchetto consente di creare token utente di identità da usare da altri pacchetti client, ad esempio chat, chiamate, sms.
Codice | sorgentePacchetto (Pypi) | Pacchetto (Conda) | Documentazione | di riferimento sulle APIDocumentazione del prodotto
Dichiarazione di non responsabilità
Il supporto dei pacchetti Python di Azure SDK per Python 2.7 è terminato il 01 gennaio 2022. Per altre informazioni e domande, fare riferimento a https://github.com/Azure/azure-sdk-for-python/issues/20691
Introduzione
Prerequisiti
- Python 3.7 o versione successiva è necessario per usare questo pacchetto.
- È necessario avere una sottoscrizione di Azure
- Una risorsa di Servizi di comunicazione distribuita. È possibile usare il portale di Azure o il Azure PowerShell per configurarlo.
Installare il pacchetto
Installare la libreria client di Identità di comunicazione di Azure per Python con pip:
pip install azure-communication-identity
Concetti chiave
CommunicationIdentityClient
CommunicationIdentityClient
fornisce le operazioni per:
Creare/eliminare identità da usare in Servizi di comunicazione di Azure. Queste identità possono essere usate per usare le offerte di comunicazione di Azure e possono essere limitate tramite ambiti di token.
Creare/revocare token di accesso utente con ambito per accedere a servizi come chat, chiamate, sms. I token vengono rilasciati per un'identità di comunicazione di Azure valida e possono essere revocati in qualsiasi momento.
Inizializzazione del client di gestione delle identità
# 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)
Esempio
La sezione seguente fornisce diversi frammenti di codice che illustrano alcune delle attività di Servizi di comunicazione di Azure più comuni, tra cui:
- Creazione di un nuovo utente
- Emissione o aggiornamento di un token di accesso per un utente
- Creazione di un utente e di un token in una singola richiesta
- Revoca dei token di accesso di un utente
- Eliminazione di un utente
- Scambio di token di accesso di Azure AD di un utente di Teams per un token di accesso di identità di comunicazione
Creazione di un nuovo utente
Usare il create_user
metodo per creare un nuovo utente.
user = identity_client.create_user()
print("User created with id:" + user.properties['id'])
Emissione o aggiornamento di un token di accesso per un utente
Usare il get_token
metodo per rilasciare o aggiornare un token di accesso con ambito per l'utente.
Passare l'oggetto utente come parametro e un elenco di CommunicationTokenScope
. Le opzioni di ambito sono:
CHAT
(Usare questa opzione per l'accesso completo alle API chat)VOIP
(Usare questa opzione per l'accesso completo alle API chiamanti)CHAT_JOIN
(Accesso alle API chat, ma senza l'autorizzazione per creare, eliminare o aggiornare thread di chat)CHAT_JOIN_LIMITED
(Una versione più limitata di CHAT_JOIN che non consente di aggiungere o rimuovere partecipanti)VOIP_JOIN
(Accesso alle API chiamanti ma senza l'autorizzazione per avviare nuove chiamate)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)
Emissione o aggiornamento di un token di accesso con scadenza personalizzata per un utente
È possibile specificare l'ora di scadenza per il token. Il token può essere configurato per scadere entro un'ora o fino a 24 ore. La scadenza predefinita è 24 ore.
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)
Creazione di un utente e di un token in una singola richiesta
Per praticità, usare create_user_and_token
per creare un nuovo utente e rilasciare un token con una chiamata di funzione. Ciò si traduce in una singola richiesta Web anziché creare prima un utente e quindi emettere un 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)
Creazione di un utente e di un token con scadenza personalizzata in una singola richiesta
È possibile specificare l'ora di scadenza per il token. Il token può essere configurato per scadere entro un'ora o fino a 24 ore. La scadenza predefinita è 24 ore.
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)
Revoca dei token di accesso di un utente
Usare revoke_tokens
per revocare tutti i token di accesso per un utente. Passare l'oggetto utente come parametro
identity_client.revoke_tokens(user)
Eliminazione di un utente
Usare il delete_user
metodo per eliminare un utente. Passare l'oggetto utente come parametro
identity_client.delete_user(user)
Scambio di token di accesso di Azure AD di un utente di Teams per un token di accesso di identità di comunicazione
Usare il get_token_for_teams_user
metodo per scambiare un token di accesso di Azure AD di un utente di Teams per un nuovo token di accesso per identità di comunicazione.
identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)
Risoluzione dei problemi
Il client di identità del servizio di comunicazione di Azure genererà eccezioni definite in Azure Core.
Passaggi successivi
Altro codice di esempio
Esaminare la directory degli esempi per esempi su come usare questa libreria per gestire identità e token.
Commenti e suggerimenti
Se si verificano bug o si hanno suggerimenti, segnalare un problema nella sezione Problemi del progetto
Contributo
In questo progetto sono benvenuti i contributi e i suggerimenti. Per la maggior parte dei contenuti è necessario sottoscrivere un contratto di licenza di collaborazione (CLA, Contributor License Agreement) che stabilisce che l'utente ha il diritto di concedere, e di fatto concede a Microsoft i diritti d'uso del suo contributo. Per informazioni dettagliate, vedere https://cla.microsoft.com.
Quando si invia una richiesta pull, un bot CLA determina automaticamente se è necessario specificare un contratto CLA e completare la richiesta pull in modo appropriato (ad esempio con un'etichetta e un commento). Seguire le istruzioni specificate dal bot. È sufficiente eseguire questa operazione una sola volta per tutti i repository che usano il contratto CLA Microsoft.
Questo progetto ha adottato il Codice di comportamento di Microsoft per l'open source. Per altre informazioni, vedere Code of Conduct FAQ (Domande frequenti sul Codice di comportamento Open Source di Microsoft) oppure contattare opencode@microsoft.com per eventuali altre domande o commenti.
Azure SDK for Python