Compartir a través de


Biblioteca cliente de autenticación de Azure Mixed Reality para .NET, versión 1.2.0

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.

Código | fuente Paquete (NuGet)

Diagrama de autenticación del servicio Mixed Reality

Introducción

Instalar el paquete

Instale la biblioteca cliente de Autenticación de Azure Mixed Reality para .NET con NuGet:

dotnet add package Azure.MixedReality.Authentication

Agregue una referencia de paquete:

<PackageReference Include="Azure.MixedReality.Authentication" Version="1.0.0" />

Requisitos previos

Autenticar el cliente

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.

Ejemplos de autenticación

A continuación se muestran algunos ejemplos de algunos escenarios de autenticación comunes, pero se pueden encontrar más ejemplos e información en Azure.Identity.

Autenticación con autenticación de clave de cuenta

Use la sobrecarga del MixedRealityStsClient constructor que acepta para AzureKeyCredential configurar la autenticación de clave de cuenta con el STS de Mixed Reality:

AzureKeyCredential keyCredential = new AzureKeyCredential(accountKey);
MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, keyCredential);

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

Autenticación con un secreto de cliente de AAD
TokenCredential aadCredential = new ClientSecretCredential(tenantId, clientId, clientSecret, new TokenCredentialOptions
{
    AuthorityHost = new Uri($"https://login.microsoftonline.com/{tenantId}")
});

MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, aadCredential);
Autenticación de un usuario mediante la autenticación de código de dispositivo
Task deviceCodeCallback(DeviceCodeInfo deviceCodeInfo, CancellationToken cancellationToken)
{
    Debug.WriteLine(deviceCodeInfo.Message);
    Console.WriteLine(deviceCodeInfo.Message);
    return Task.FromResult(0);
}

TokenCredential deviceCodeCredential = new DeviceCodeCredential(deviceCodeCallback, tenantId, clientId, new TokenCredentialOptions
{
    AuthorityHost = new Uri($"https://login.microsoftonline.com/{tenantId}"),
});

MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, deviceCodeCredential);

AccessToken token = await client.GetTokenAsync();

Consulte aquí para obtener más información sobre el uso del flujo de autenticación de código de dispositivo.

Autenticación interactiva con DefaultAzureCredential

Use el objeto con includeInteractiveCredentials: true para usar el DefaultAzureCredential flujo de autenticación interactiva predeterminado:

TokenCredential credential = new DefaultAzureCredential(includeInteractiveCredentials: true);

MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, 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.

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

Seguridad para subprocesos

Garantizamos que todos los métodos de instancia de cliente son seguros para subprocesos e independientes entre sí (instrucciones). Esto garantiza que la recomendación de reutilizar instancias de cliente siempre es segura, incluso entre subprocesos.

Conceptos adicionales

Opciones | de cliente Acceso a la respuesta | Operaciones | de larga duraciónControl de errores | Diagnóstico | Burla | Duración del cliente

Ejemplos

Recuperación de un token de acceso

AzureKeyCredential keyCredential = new AzureKeyCredential(accountKey);
MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, keyCredential);

AccessToken token = await client.GetTokenAsync();

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

Uso del token de acceso en una biblioteca cliente de Mixed Reality

Algunas Mixed Reality bibliotecas cliente pueden aceptar un token de acceso en lugar de una credencial. Por ejemplo:

// GetMixedRealityAccessTokenFromWebService is a hypothetical method that retrieves
// a Mixed Reality access token from a web service. The web service would use the
// MixedRealityStsClient and credentials to obtain an access token to be returned
// to the client.
AccessToken accessToken = await GetMixedRealityAccessTokenFromWebService();

SpatialAnchorsAccount account = new SpatialAnchorsAccount(accountId, accountDomain);
SpatialAnchorsClient client = new SpatialAnchorsClient(account, accessToken);

Nota: El SpatialAnchorsClient uso anterior es hipotético y puede que no refleje la biblioteca real. Consulte la documentación de la biblioteca cliente que usa para determinar si se puede admitir y cómo se puede admitir.

Solución de problemas

Pasos siguientes

Bibliotecas cliente que admiten la autenticación con autenticación de Mixed Reality

Próximamente, las bibliotecas que admiten la autenticación de Mixed Reality.

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.