Biblioteca cliente de Autenticación de Azure Mixed Reality para JavaScript: versión 1.0.0-beta.1
Los servicios de Mixed Reality, como Azure Remote Rendering, 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 los servicios de Mixed Reality.
Vínculos clave:
Empezar
Entornos admitidos actualmente
Prerrequisitos
- Una suscripción de Azure .
- Debe tener una cuenta con un servicio Azure Mixed Reality:
- Familiaridad con los conceptos de autenticación y credenciales de la biblioteca de identidades de Azure .
Instalación del paquete @azure/mixed-reality-authentication
Instale la biblioteca cliente de Azure Mixed Reality Authentication para JavaScript con npm
:
npm install @azure/mixed-reality-authentication
Creación y autenticación de un MixedRealityStsClient
Para crear un objeto de cliente para solicitar un token de acceso para un servicio de Mixed Reality, necesitará los account identifier
y account domain
del recurso de servicio de Mixed Reality y un credential
.
Los servicios de Mixed Reality 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 el uso de servicios de Mixed Reality. Pero antes de implementar la aplicación en producción, se recomienda actualizar la aplicación para 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 la autenticación de Azure AD basada en el usuario en la aplicación. Después, conceda acceso a las cuentas de Mixed Reality mediante los grupos de seguridad de Azure AD existentes. También puede conceder acceso directamente a los usuarios de su organización.
- De lo contrario, se recomienda obtener tokens de Azure AD de un servicio web que admita la aplicación. Se recomienda este método para 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.
Uso de la autenticación de clave de cuenta
Use el de Azure Portal de para ir al recurso del servicio Mixed Reality y recuperar un account key
.
Una vez que tenga una clave de cuenta, puede usar la clase AzureKeyCredential
para autenticar al cliente de la siguiente manera:
const { AzureKeyCredential } = require("@azure/core-auth");
const { MixedRealityStsClient } = require("@azure/mixed-reality-authentication");
const accountId = "<ACCOUNTD ID>";
const accountDomain = "<ACCOUNT_DOMAIN>";
const accountKey = "<ACCOUNT_KEY>";
const client = new MixedRealityStsClient(
accountId,
accountDomain,
new AzureKeyCredential(accountKey)
);
Nota: La autenticación de clave de cuenta es no se recomienda para 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 de de DefaultAzureCredential que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, instale el paquete de @azure/identity
:
npm install @azure/identity
También deberá [registrar una nueva aplicación de AAD][register_aad_app] 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.
Establezca los valores del identificador de cliente, el identificador de inquilino y el secreto de cliente de la aplicación de AAD como variables de entorno: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_SECRET
.
const { MixedRealityStsClient } = require("@azure/mixed-reality-authentication");
const { DefaultAzureCredential } = require("@azure/identity");
const client = new MixedRealityStsClient(accountId, accountDomain, new DefaultAzureCredential());
Conceptos clave
MixedRealityStsClient
El 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.
Valor devuelto
El valor devuelto de una llamada correcta a getToken
es un GetTokenResponse
, que es un AccessToken
de @azure/core-http.
Ejemplos
Recuperación de un token de acceso
const { AzureKeyCredential } = require("@azure/core-auth");
const { MixedRealityStsClient } = require("@azure/mixed-reality-authentication");
const accountId = "<ACCOUNTD ID>";
const accountDomain = "<ACCOUNT_DOMAIN>";
const accountKey = "<ACCOUNT_KEY>";
const client = new MixedRealityStsClient(
accountId,
accountDomain,
new AzureKeyCredential(accountKey)
);
const token = await client.getToken();
Consulte azure Identity para ver escenarios de autenticación más complejos.
Uso del token de acceso en una biblioteca cliente de Mixed Reality
Algunas bibliotecas cliente de Mixed Reality 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.
const accessToken = await GetMixedRealityAccessTokenFromWebService();
const account = new SpatialAnchorsAccount(accountId, accountDomain);
const client = new SpatialAnchorsClient(account, accessToken);
Nota: El SpatialAnchorsClient
uso anterior es hipotético y puede no reflejar 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
Registro
Habilitar el registro puede ayudar a descubrir información útil sobre errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL
en info
. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel
en el @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Para obtener instrucciones más detalladas sobre cómo habilitar los registros, puede consultar los documentos del paquete de @azure/registrador.
Pasos siguientes
Eche un vistazo al directorio ejemplos para obtener ejemplos detallados sobre cómo usar esta biblioteca.
Contribuyendo
Este proyecto da la bienvenida a las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia de colaborador (CLA) declarando que tiene derecho a, y en realidad, concedanos los derechos para usar su contribución. Para obtener más información, visite https://cla.microsoft.com.
Al enviar una solicitud de incorporación de cambios, un bot CLA determinará automáticamente si necesita proporcionar un CLA y decorar la solicitud de incorporación de cambios de forma adecuada (por ejemplo, etiqueta, comentario). Solo tiene que seguir las instrucciones proporcionadas por el bot. Solo tendrá que hacerlo una vez en todos los repositorios mediante nuestro CLA.
Este proyecto ha adoptado el código abierto de conducta de Microsoft. Para obtener más información, consulte el de preguntas más frecuentes sobre el código de conducta de o póngase en contacto con opencode@microsoft.com con preguntas o comentarios adicionales.
Si desea contribuir a esta biblioteca, lea la guía de contribución de para obtener más información sobre cómo compilar y probar el código.
Proyectos relacionados
Azure SDK for JavaScript