Compartir a través de


Estado de compilación

Biblioteca cliente del paquete de autenticación de Azure Mixed Reality para Python, versión 1.0.0b1

Mixed Reality servicios, como Azure Spatial Anchors, Azure Remote Rendering y otros, usan el servicio de token de seguridad (STS) de Mixed Reality para la autenticación. Este paquete admite el intercambio de credenciales de cuenta de Mixed Reality para un token de acceso desde el STS que se puede usar para acceder a Mixed Reality servicios.

Diagrama de autenticación del servicio Mixed Reality

Introducción

Entornos admitidos actualmente

Este paquete se ha probado con Python 2.7, 3.5, 3.6, 3.7, 3.8 y 3.9.

Requisitos previos

Instalar el paquete

Instale el SDK de autenticación de Azure Mixed Reality.

pip install --pre azure-mixedreality-authentication

Crear y autenticar una MixedRealityStsClient

Para crear un objeto de cliente para solicitar un token de acceso para un servicio de Mixed Reality, necesitará y account identifieraccount domain del recurso de servicio de Mixed Reality y un credential.

Mixed Reality servicios admiten algunas formas diferentes de autenticación:

  • Autenticación de clave de cuenta
    • Las claves de cuenta le permiten empezar a trabajar rápidamente con Mixed Reality servicios. Sin embargo, antes de implementar la aplicación en la producción, es recomendable actualizarla para que pueda usar la autenticación de Azure AD.
  • Autenticación de tokens de Azure Active Directory (AD)
    • Si va a compilar una aplicación empresarial y su empresa usa Azure AD como sistema de identidades, puede usar en la aplicación la autenticación de Azure AD basada en el usuario. A continuación, se concede acceso a las cuentas de Mixed Reality mediante los grupos de seguridad de Azure AD existentes. Igualmente, también puede conceder acceso directamente a los usuarios de la organización.
    • En caso contrario, es recomendable que obtenga los tokens de Azure AD de un servicio web que sea compatible con la aplicación. Se recomienda este método para las aplicaciones de producción, ya que permite evitar la inserción de las credenciales para el acceso a un servicio de Mixed Reality en la aplicación cliente.

Consulte aquí para obtener instrucciones detalladas e información.

Uso de la autenticación de clave de cuenta

Use Azure Portal para ir al recurso de servicio de Mixed Reality y recuperar un account key.

Una vez que tenga una clave de cuenta, puede usar la AzureKeyCredential clase para autenticar al cliente de la siguiente manera:

from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication import MixedRealityStsClient

account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)

client = MixedRealityStsClient(account_id, account_domain, key_credential)

Nota: No se recomienda la autenticación de clave de cuenta para las aplicaciones de producción.

Uso de una credencial de Azure Active Directory

La autenticación de clave de cuenta se usa en la mayoría de los ejemplos, pero también puede autenticarse con Azure Active Directory mediante la biblioteca de identidades de Azure. Este es el método recomendado para las aplicaciones de producción. Para usar el proveedor DefaultAzureCredential que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, instale el @azure/identity paquete:

También deberá registrar una nueva aplicación de AAD y conceder acceso al recurso de Mixed Reality mediante la asignación del rol adecuado para el servicio de Mixed Reality a la entidad de servicio.

from azure.identity import DefaultAzureCredential
from azure.mixedreality.authentication import MixedRealityStsClient

account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
default_credential = DefaultAzureCredential()

client = MixedRealityStsClient(account_id, account_domain, default_credential)

Conceptos clave

MixedRealityStsClient

MixedRealityStsClient es la biblioteca cliente que se usa para acceder al STS de Mixed Reality para obtener un token de acceso. Se puede recuperar un token de acceso mediante una llamada a get_token() en una MixedRealityStsClient instancia de .

Los tokens obtenidos del STS de Mixed Reality tienen una duración de 24 horas.

Valor del resultado del token

El valor devuelto de una llamada correcta a get_token es .azure.core.credentials.AccessToken

Consulte los ejemplos de autenticación anteriores o Azure Identity para ver escenarios de autenticación más complejos.

Recuperación de un token de acceso de forma sincrónica

from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication import MixedRealityStsClient

account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)

client = MixedRealityStsClient(account_id, account_domain, key_credential)

token = client.get_token()

Recuperación de un token de acceso de forma asincrónica

from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication.aio import MixedRealityStsClient

account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)

client = MixedRealityStsClient(account_id, account_domain, key_credential)

token = await client.get_token()

Ejemplos

Estos son ejemplos de código que muestran operaciones de escenario comunes con la biblioteca cliente de autenticación de Azure Mixed Reality. Las versiones asincrónicas de los ejemplos (los archivos de ejemplo de Python anexados con _async) muestran operaciones asincrónicas y requieren Python 3.5 o posterior. Antes de ejecutar el código de ejemplo, consulte Requisitos previos.

para crear un recurso y, a continuación, establecer algunas variables de entorno

set MIXEDREALITY_ACCOUNT_DOMAIN="<the Mixed Reality account domain>"
set MIXEDREALITY_ACCOUNT_ID="<the Mixed Reality account identifier>"
set MIXEDREALITY_ACCOUNT_KEY="<the Mixed Reality account primary or secondary key>"

pip install azure-mixedreality-authentication

python samples\client_sample.py
python samples\client_sample_async.py

Solución de problemas

La sección de solución de problemas de Identidad de Azure puede resultar útil al solucionar problemas de autenticación.

Pasos siguientes

bibliotecas cliente de Mixed Reality

  • Próximamente

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.

Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.

Impresiones