Condividi tramite


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

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

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.