Biblioteca de clientes do Azure Realidade Misturada Authentication para .NET – versão 1.2.0

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.

Código-fonte | Pacote (NuGet)

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

Introdução

Instalar o pacote

Instale a biblioteca de clientes do Azure Realidade Misturada Authentication para .NET com o NuGet:

dotnet add package Azure.MixedReality.Authentication

Adicione uma referência de pacote:

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

Pré-requisitos

Autenticar o cliente

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.

Exemplos de autenticação

Abaixo estão alguns exemplos de alguns cenários comuns de autenticação, mas mais exemplos e informações podem ser encontrados em Azure.Identity.

Autenticação com autenticação de chave de conta

Use a sobrecarga do MixedRealityStsClient construtor aceitando um AzureKeyCredential para configurar a autenticação de chave de conta com o Realidade Misturada STS:

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

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

Autenticação com um segredo do cliente do 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);
Autenticar um usuário usando a autenticação de código do 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 aqui para obter mais informações sobre como usar o fluxo de autenticação de código do dispositivo.

Autenticação interativa com DefaultAzureCredential

Use o objeto com includeInteractiveCredentials: true para usar o DefaultAzureCredential fluxo de autenticação interativa padrão:

TokenCredential credential = new DefaultAzureCredential(includeInteractiveCredentials: true);

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

Principais conceitos

MixedRealityStsClient

O MixedRealityStsClient é a biblioteca de clientes usada para acessar a Realidade Misturada STS para obter um token de acesso.

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

Acesso thread-safe

Garantimos que todos os métodos de instância do cliente sejam thread-safe e independentes uns dos outros (diretriz). Isso garante que a recomendação de reutilize instâncias de cliente seja sempre segura, mesmo entre threads.

Conceitos adicionais

Opções do | cliente Acessando a resposta | Operações de execução longa | Tratamento de falhas | Diagnostics | Zombando | Tempo de vida do cliente

Exemplos

Recuperar um token de acesso

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

AccessToken token = await client.GetTokenAsync();

Consulte os exemplos de autenticação acima para ver cenários de autenticação mais complexos.

Usando o token de acesso em uma biblioteca de clientes Realidade Misturada

Algumas bibliotecas de cliente Realidade Misturada 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.
AccessToken accessToken = await GetMixedRealityAccessTokenFromWebService();

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

Observação: o SpatialAnchorsClient uso acima é hipotético e pode não refletir a biblioteca real. Consulte a documentação da biblioteca de clientes que você está usando para determinar se e como isso pode ter suporte.

Solução de problemas

Próximas etapas

Bibliotecas de clientes que dão suporte à autenticação com a Autenticação Realidade Misturada

As bibliotecas que dão suporte à Autenticação Realidade Misturada estarão disponíveis 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.