Biblioteca cliente de autenticación de Azure Mixed Reality para JavaScript: versión 1.0.0-beta.1
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.
Vínculos principales:
Introducción
Entornos admitidos actualmente
Requisitos previos
- Una suscripción de Azure.
- Debe tener una cuenta con un servicio de Azure Mixed Reality:
- Familiaridad con los conceptos de autenticación y credenciales de la biblioteca de identidades de Azure.
Instalar el paquete @azure/mixed-reality-authentication
Instale la biblioteca cliente de Autenticación de Azure Mixed Reality para JavaScript con npm
:
npm install @azure/mixed-reality-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 identifier
account domain
del recurso de servicio de Mixed Reality y un credential
.
Mixed Reality servicios admiten varias 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, conceda 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 aplicaciones de producción, ya que permite evitar insertar las credenciales para acceder a un servicio de Mixed Reality en la aplicación cliente.
Consulte aquí para obtener instrucciones e información detalladas.
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 clase para autenticar el cliente de la AzureKeyCredential
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: 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 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:
npm install @azure/identity
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.
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
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 , que es un GetTokenResponse
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 los ejemplos de autenticación anteriores o Azure Identity 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.
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 que no refleje la biblioteca real. Consulte la documentación de la biblioteca cliente que está usando para determinar si se puede admitir y cómo se puede admitir.
Solución de problemas
Registro
La habilitación del registro puede ayudar a descubrir información útil sobre los 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 @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Para obtener instrucciones más detalladas sobre cómo habilitar los registros, consulte los documentos del paquete @azure/logger.
Pasos siguientes
Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados sobre cómo usar esta biblioteca.
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.
Proyectos relacionados
Azure SDK for JavaScript