Compartilhar via


Build Status

Biblioteca de clientes do Pacote de Autenticação do Azure Realidade Misturada para Python – versão 1.0.0b1

Realidade Misturada serviços, como Âncoras Espaciais do Azure, Remote Rendering do Azure e outros, usam o STS (serviço de token de segurança) Realidade Misturada para autenticação. Esse pacote dá suporte à troca Realidade Misturada credenciais de conta para um token de acesso do STS que pode ser usado para acessar serviços Realidade Misturada.

diagrama de autenticação do serviço Realidade Misturada

Introdução

Ambientes com suporte no momento

Esse pacote foi testado com Python 2.7, 3.5, 3.6, 3.7, 3.8 e 3.9.

Pré-requisitos

Instalar o pacote

Instale o SDK de Autenticação do Realidade Misturada do Azure.

pip install --pre azure-mixedreality-authentication

Criar e autenticar um MixedRealityStsClient

Para criar um objeto cliente para solicitar um token de acesso para um serviço de Realidade Misturada, você precisará do account identifier e account domain do recurso de serviço do Realidade Misturada e de um credential.

Realidade Misturada serviços dão suporte a algumas formas diferentes de autenticação:

  • Autenticação de chave de conta
    • As chaves de conta permitem que você comece rapidamente a usar Realidade Misturada serviços. Mas antes de implantar seu aplicativo em produção, recomendamos que você atualize o aplicativo para usar a autenticação do Azure AD.
  • Autenticação de token do Azure Active Directory (AD)
    • Se você estiver criando um aplicativo empresarial e sua empresa estiver usando o Azure AD como sistema de identidade, você poderá usar a autenticação do Azure AD baseada no usuário em seu aplicativo. Em seguida, você concede acesso às suas contas Realidade Misturada usando seus grupos de segurança Azure AD existentes. Você também pode permitir acesso diretamente aos usuários em sua organização.
    • Caso contrário, é recomendável que você obtenha tokens do Azure AD em um serviço Web que dê suporte ao seu aplicativo. Recomendamos esse método para aplicativos de produção porque ele permite evitar a inserção das credenciais para acesso a um serviço de Realidade Misturada em seu aplicativo cliente.

Consulte aqui para obter instruções e informações detalhadas.

Usando a autenticação de chave de conta

Use o Portal do Azure para navegar até o recurso de serviço Realidade Misturada e recuperar um account key.

Depois de ter uma chave de conta, você pode usar a AzureKeyCredential classe para autenticar o cliente da seguinte maneira:

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)

Observação: a autenticação de chave de conta não é recomendada para aplicativos de produção.

Usando uma credencial do Azure Active Directory

A autenticação de chave de conta é usada na maioria dos exemplos, mas você também pode autenticar com o Azure Active Directory usando a biblioteca de Identidade do Azure. Esse é o método recomendado para aplicativos de produção. Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o @azure/identity pacote:

Você também precisará registrar um novo aplicativo do AAD e conceder acesso ao recurso Realidade Misturada atribuindo a função apropriada para o serviço Realidade Misturada à entidade de serviço.

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)

Principais conceitos

MixedRealityStsClient

O MixedRealityStsClient é a biblioteca de clientes usada para acessar a Realidade Misturada STS para obter um token de acesso. Um token de acesso pode ser recuperado chamando get_token() em uma MixedRealityStsClient instância .

Os tokens obtidos da Realidade Misturada STS têm um tempo de vida de 24 horas.

Valor do resultado do token

O valor retornado para uma chamada bem-sucedida para get_token é um azure.core.credentials.AccessToken.

Consulte os exemplos de autenticação acima ou Identidade do Azure para cenários de autenticação mais complexos.

Recuperar um token de acesso de forma síncrona

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()

Recuperar um token de acesso de forma assíncrona

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()

Exemplos

Estes são exemplos de código que mostram operações de cenário comuns com a biblioteca de clientes do Azure Realidade Misturada Authentication. As versões assíncronas dos exemplos (os arquivos de exemplo do Python acrescentados com _async) mostram operações assíncronas e exigem o Python 3.5 ou posterior. Antes de executar o código de exemplo, consulte Pré-requisitos

para criar um recurso e, em seguida, definir algumas variáveis de ambiente

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

Solução de problemas

A seção de solução de problemas do Azure Identity pode ser útil ao solucionar problemas de autenticação.

Próximas etapas

Realidade Misturada bibliotecas de clientes

  • Em breve

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (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 que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.

Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.

Impressões