Partager via


Bibliothèque de client Azure Mixed Reality Authentication pour .NET - version 1.2.0

Mixed Reality services, tels qu’Azure Spatial Anchors, Azure Remote Rendering et d’autres, utilisent le service d’émission de jeton de sécurité Mixed Reality (STS) pour l’authentification. Ce package prend en charge l’échange d’informations d’identification de compte Mixed Reality contre un jeton d’accès à partir du sts qui peut être utilisé pour accéder aux services Mixed Reality.

| Code sourcePackage (NuGet)

diagramme d’authentification du service Mixed Reality

Prise en main

Installer le package

Installez la bibliothèque de client Azure Mixed Reality Authentication pour .NET avec NuGet :

dotnet add package Azure.MixedReality.Authentication

Ajoutez une référence de package :

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

Prérequis

Authentifier le client

Mixed Reality services prennent en charge différentes formes d’authentification :

  • Authentification par clé de compte
    • Les clés de compte vous permettent de commencer rapidement à utiliser Mixed Reality services. Mais avant de déployer votre application en production, nous vous recommandons de mettre à jour votre application pour utiliser l’authentification Azure AD.
  • Authentification par jeton Azure Active Directory (AD)
    • Si vous créez une application d’entreprise et que votre entreprise utilise Azure AD comme système d’identité, vous pouvez utiliser l’authentification Azure AD basée sur l’utilisateur dans votre application. Vous accordez ensuite l’accès à vos comptes Mixed Reality à l’aide de vos groupes de sécurité Azure AD existants. Vous pouvez également accorder l’accès directement aux utilisateurs de votre organisation.
    • Sinon, nous vous recommandons d’obtenir des jetons Azure AD à partir d’un service web prenant en charge votre application. Nous recommandons cette méthode pour les applications de production, car elle vous permet d’éviter d’incorporer les informations d’identification pour accéder à un service Mixed Reality dans votre application cliente.

Consultez ici pour obtenir des instructions et des informations détaillées.

Exemples d’authentification

Vous trouverez ci-dessous quelques exemples de scénarios d’authentification courants, mais vous trouverez d’autres exemples et informations sur Azure.Identity.

Authentification avec l’authentification par clé de compte

Utilisez la surcharge de MixedRealityStsClient constructeur acceptant un AzureKeyCredential pour configurer l’authentification par clé de compte avec le Mixed Reality STS :

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

Remarque : l’authentification par clé de compte n’est pas recommandée pour les applications de production.

Authentification avec une clé secrète client 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);
Authentification d’un utilisateur à l’aide de l’authentification par code d’appareil
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();

Consultez ici pour plus d’informations sur l’utilisation du flux d’authentification par code d’appareil.

Authentification interactive avec DefaultAzureCredential

Utilisez l’objet DefaultAzureCredential avec includeInteractiveCredentials: true pour utiliser le flux d’authentification interactive par défaut :

TokenCredential credential = new DefaultAzureCredential(includeInteractiveCredentials: true);

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

Concepts clés

MixedRealityStsClient

MixedRealityStsClient est la bibliothèque cliente utilisée pour accéder au Mixed Reality STS afin d’obtenir un jeton d’accès.

Les jetons obtenus à partir de la Mixed Reality STS ont une durée de vie de 24 heures.

Sécurité des threads

Nous garantissons que toutes les méthodes de instance client sont thread-safe et indépendantes les unes des autres (instructions). Cela garantit que la recommandation de réutilisation des instances clientes est toujours sécurisée, même entre les threads.

Concepts supplémentaires

Options | du client Accès à la réponse | Opérations | de longue duréeGestion des défaillances | Diagnostics | Moqueur | Durée de vie du client

Exemples

Récupérer un jeton d’accès

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

AccessToken token = await client.GetTokenAsync();

Consultez les exemples d’authentification ci-dessus pour des scénarios d’authentification plus complexes.

Utilisation du jeton d’accès dans une bibliothèque de client Mixed Reality

Certaines bibliothèques clientes Mixed Reality peuvent accepter un jeton d’accès à la place d’informations d’identification. Par exemple :

// 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);

Remarque : L’utilisation SpatialAnchorsClient ci-dessus est hypothétique et peut ne pas refléter la bibliothèque réelle. Consultez la documentation de la bibliothèque cliente que vous utilisez pour déterminer si et comment cela peut être pris en charge.

Dépannage

Étapes suivantes

Bibliothèques clientes prenant en charge l’authentification avec l’authentification Mixed Reality

Les bibliothèques prenant en charge l’authentification Mixed Reality seront bientôt disponibles.

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.