Compartir a través de


Biblioteca cliente de Azure Communication Identity Package para Python: versión 1.4.0

El paquete de cliente de Azure Communication Identity está diseñado para usarse para configurar los conceptos básicos para abrir una manera de usar las ofertas de Azure Communication Service. Este paquete ayuda a crear tokens de usuario de identidad que usarán otros paquetes de cliente, como chat, llamadas, sms.

Código | fuentePaquete (Pypi) | Paquete (Conda) | Documentación | de referencia de APIDocumentación del producto

Declinación de responsabilidades

Los paquetes de Python del SDK de Azure para Python 2.7 finalizaron el 01 de enero de 2022. Para más información y preguntas, consulte https://github.com/Azure/azure-sdk-for-python/issues/20691.

Introducción

Requisitos previos

Instalar el paquete

Instale la biblioteca cliente de Azure Communication Identity para Python con pip:

pip install azure-communication-identity

Conceptos clave

CommunicationIdentityClient

CommunicationIdentityClient proporciona operaciones para:

  • Crear o eliminar identidades que se usarán en Azure Communication Services. Esas identidades se pueden usar para usar las ofertas de Azure Communication y se pueden limitar a tener capacidades limitadas a través de ámbitos de token.

  • Cree o revoque tokens de acceso de usuario con ámbito para acceder a servicios como chat, llamadas, sms. Los tokens se emiten para una identidad válida de Azure Communication y se pueden revocar en cualquier momento.

Inicialización del cliente de identidad

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

Ejemplos

En la sección siguiente se proporcionan varios fragmentos de código que abarcan algunas de las tareas Azure Communication Services más comunes, entre las que se incluyen:

Creación de un nuevo usuario

Use el create_user método para crear un nuevo usuario.

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

Emisión o actualización de un token de acceso para un usuario

Use el get_token método para emitir o actualizar un token de acceso con ámbito para el usuario.
Pase el objeto de usuario como parámetro y una lista de CommunicationTokenScope. Las opciones de ámbito son:

  • CHAT (Úselo para el acceso completo a las API de chat)
  • VOIP (Úselo para obtener acceso completo a las API de llamada)
  • CHAT_JOIN (Acceso a las API de chat, pero sin la autorización para crear, eliminar o actualizar subprocesos de chat)
  • CHAT_JOIN_LIMITED (Una versión más limitada de CHAT_JOIN que no permite agregar o quitar participantes)
  • VOIP_JOIN (Acceso a las API de llamada, pero sin la autorización para iniciar nuevas llamadas)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)

Emisión o actualización de un token de acceso con expiración personalizada para un usuario

Puede especificar la hora de expiración del token. El token se puede configurar para que expire en tan solo una hora o hasta 24 horas. El tiempo de expiración predeterminado es de 24 horas.

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)

Creación de un usuario y un token en una sola solicitud

Para mayor comodidad, use create_user_and_token para crear un nuevo usuario y emitir un token con una llamada de función. Esto se traduce en una única solicitud web en lugar de crear un usuario primero y, a continuación, emitir 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)

Creación de un usuario y un token con expiración personalizada en una sola solicitud

Puede especificar la hora de expiración del token. El token se puede configurar para que expire en tan solo una hora o hasta 24 horas. El tiempo de expiración predeterminado es de 24 horas.

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)

Revocar los tokens de acceso de un usuario

Use revoke_tokens para revocar todos los tokens de acceso de un usuario. Pasar el objeto de usuario como parámetro

identity_client.revoke_tokens(user)

Eliminar un usuario

Use el delete_user método para eliminar un usuario. Pasar el objeto de usuario como parámetro

identity_client.delete_user(user)

Intercambio de token de acceso de Azure AD de un usuario de Teams para un token de acceso de identidad de comunicación

Use el get_token_for_teams_user método para intercambiar un token de acceso de Azure AD de un usuario de Teams para un nuevo token de acceso de Communication Identity.

identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)

Solución de problemas

El cliente de Azure Communication Service Identity generará excepciones definidas en Azure Core.

Pasos siguientes

Más código de ejemplo

Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados de cómo usar esta biblioteca para administrar identidades y tokens.

Envío de comentarios

Si encuentra algún error o tiene sugerencias, envíe un problema en la sección Problemas del proyecto.

Contribuciones

Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para más detalles, visite https://cla.microsoft.com.

Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.

Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.