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
- Se requiere Python 3.7 o posterior para usar este paquete.
- Debe tener una suscripción de Azure.
- Un recurso de Communication Services implementado. Puede usar Azure Portal o el Azure PowerShell para configurarlo.
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
- Emisión o actualización de un token de acceso para un usuario
- Creación de un usuario y un token en una sola solicitud
- Revocar los tokens de acceso de un usuario
- Eliminar un usuario
- Intercambio de token de acceso de Azure AD de un usuario de Teams para un token de acceso de identidad de comunicación
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.
Azure SDK for Python