Biblioteca de cliente do Azure Mixed Reality Authentication para JavaScript - versão 1.0.0-beta.1
Os serviços de Realidade Mista, como a Renderização Remota do Azure, usam o STS (serviço de token de segurança) de Realidade Mista para autenticação. Este pacote suporta a troca de credenciais de conta de Realidade Mista por um token de acesso do STS que pode ser usado para acessar serviços de Realidade Mista.
Ligações principais:
- Código fonte |
- Pacote (NPM) |
- documentação de referência da API |
- Amostras
Primeiros passos
Ambientes atualmente suportados
Pré-requisitos
- Uma assinatura do Azure.
- Você deve ter uma conta com um serviço Azure Mixed Reality:
- Familiaridade com os conceitos de autenticação e credenciais da biblioteca de Identidades do Azure.
Instalar o pacote @azure/mixed-reality-authentication
Instale a biblioteca de cliente do Azure Mixed Reality Authentication para JavaScript com npm
:
npm install @azure/mixed-reality-authentication
Criar e autenticar um MixedRealityStsClient
Para criar um objeto cliente para solicitar um token de acesso para um serviço de Realidade Mista, você precisará do account identifier
e account domain
do seu recurso de serviço de Realidade Mista e de um credential
.
Os serviços de Realidade Mista suportam algumas formas diferentes de autenticação:
- Autenticação da chave de conta
- As chaves de conta permitem-lhe começar rapidamente a utilizar os serviços de Realidade Mista. Mas antes de implantar seu aplicativo na produção, recomendamos que você atualize seu aplicativo para usar a autenticação do Azure AD.
- Autenticação de token do Azure Ative Directory (AD)
- Se você estiver criando um aplicativo corporativo e sua empresa estiver usando o Azure AD como seu sistema de identidade, poderá usar a autenticação do Azure AD baseada no usuário em seu aplicativo. Em seguida, você concede acesso às suas contas de Realidade Mista usando seus grupos de segurança existentes do Azure AD. Você também pode conceder acesso diretamente aos usuários em sua organização.
- Caso contrário, recomendamos que você obtenha tokens do Azure AD de um serviço Web que ofereça suporte ao seu aplicativo. Recomendamos esse método para aplicativos de produção porque ele permite que você evite incorporar as credenciais de acesso a um serviço de realidade mista em seu aplicativo cliente.
Usando a autenticação de chave de conta
Use o Portal do Azure para navegar até seu recurso de serviço de Realidade Mista e recuperar um account key
.
Depois de ter uma chave de conta, você pode usar a classe AzureKeyCredential
para autenticar o cliente da seguinte maneira:
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: A autenticação de chave de conta não é recomendada para aplicativos de produção.
Usando uma credencial do Azure Ative Directory
A autenticação de chave de conta é usada na maioria dos exemplos, mas você também pode autenticar com o Azure Ative Directory usando o biblioteca de Identidade do Azure. Este é o método recomendado para aplicações de produção. Para usar o provedor de DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o pacote @azure/identity
:
npm install @azure/identity
Você também precisará [registrar um novo aplicativo AAD][register_aad_app] e conceder acesso ao seu recurso de Realidade Mista atribuindo a função apropriada para seu serviço de Realidade Mista à sua entidade de serviço.
Defina os valores do ID do cliente, ID do locatário e segredo do cliente do aplicativo AAD como variáveis de ambiente: 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());
Conceitos-chave
MixedRealityStsClient
O MixedRealityStsClient
é a biblioteca de cliente usada para acessar o STS de Realidade Mista para obter um token de acesso.
Os tokens obtidos a partir do STS de Realidade Mista têm uma vida útil de 24 horas.
Valor de retorno
O valor de retorno para uma chamada para getToken
bem-sucedida é um GetTokenResponse
, que é um AccessToken
de @azure/core-http.
Exemplos
Recuperar um token de acesso
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 de Identidade do Azure para cenários de autenticação mais complexos.
Usando o token de acesso em uma biblioteca de cliente de realidade mista
Algumas bibliotecas de cliente de Realidade Mista podem aceitar um token de acesso no lugar de uma credencial. Por exemplo:
// 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: O uso SpatialAnchorsClient
acima é hipotético e pode não refletir a biblioteca real. Consulte a documentação da biblioteca de cliente que você está usando para determinar se e como isso pode ser suportado.
Solução de problemas
Registo
Habilitar o registro em log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL
como info
. Como alternativa, o registro em log pode ser habilitado em tempo de execução chamando setLogLevel
no @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Para obter instruções mais detalhadas sobre como habilitar logs, você pode consultar os documentos do pacote @azure/logger.
Próximos passos
Por favor, dê uma olhada no exemplos diretório para obter exemplos detalhados sobre como usar esta biblioteca.
Contribuição
Este projeto acolhe contribuições e sugestões. A maioria das contribuições exige que você concorde com um Contrato de Licença de Colaborador (CLA) declarando que você tem o direito de, e realmente concede, os direitos de usar sua contribuição. Para mais detalhes, visite https://cla.microsoft.com.
Quando você envia uma solicitação pull, um CLA-bot determinará automaticamente se você precisa fornecer um CLA e decorar o PR adequadamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios usando nosso CLA.
Este projeto adotou o Microsoft Open Source Code of Conduct. Para obter mais informações, consulte o de perguntas frequentes sobre o Código de Conduta ou entre em contato com opencode@microsoft.com para obter perguntas ou comentários adicionais.
Se você quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.
Projetos relacionados
Azure SDK for JavaScript