État de la build

Bibliothèque cliente du package d’authentification Azure Mixed Reality pour Python - version 1.0.0b1

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.

diagramme d’authentification du service Mixed Reality

Prise en main

Environnements actuellement pris en charge

Ce package a été testé avec Python 2.7, 3.5, 3.6, 3.7, 3.8 et 3.9.

Prérequis

Installer le package

Installez le Kit de développement logiciel (SDK) Azure Mixed Reality Authentication.

pip install --pre azure-mixedreality-authentication

Créez et authentifiez unMixedRealityStsClient

Pour créer un objet client afin de demander un jeton d’accès pour un service Mixed Reality, vous aurez besoin de et account identifieraccount domain de votre ressource de service Mixed Reality et d’un credential.

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.

Utilisation de l’authentification par clé de compte

Utilisez le portail Azure pour accéder à votre ressource de service Mixed Reality et récupérer un account key.

Une fois que vous disposez d’une clé de compte, vous pouvez utiliser la AzureKeyCredential classe pour authentifier le client comme suit :

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)

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

Utilisation d’informations d’identification Azure Active Directory

L’authentification par clé de compte est utilisée dans la plupart des exemples, mais vous pouvez également vous authentifier auprès d’Azure Active Directory à l’aide de la bibliothèque Azure Identity. Il s’agit de la méthode recommandée pour les applications de production. Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le Kit de développement logiciel (SDK) Azure, installez le @azure/identity package :

Vous devez également inscrire une nouvelle application AAD et accorder l’accès à votre ressource Mixed Reality en attribuant le rôle approprié pour votre service Mixed Reality à votre principal de service.

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)

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. Un jeton d’accès peut être récupéré en appelant get_token() sur une MixedRealityStsClient instance.

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

Valeur de résultat du jeton

La valeur de retour d’un appel réussi à get_token est un azure.core.credentials.AccessToken.

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

Récupérer un jeton d’accès de manière synchrone

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

Récupérer un jeton d’accès de manière asynchrone

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

Exemples

Il s’agit d’exemples de code qui montrent des opérations de scénario courantes avec la bibliothèque de client Azure Mixed Reality Authentication. Les versions asynchrones des exemples (les exemples de fichiers Python ajoutés à _async) affichent des opérations asynchrones et nécessitent Python 3.5 ou version ultérieure. Avant d’exécuter l’exemple de code, reportez-vous à Prérequis

pour créer une ressource, puis définir des variables d’environnement

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

Résolution des problèmes

La section résolution des problèmes pour Azure Identity peut être utile lors de la résolution des problèmes d’authentification.

Étapes suivantes

bibliothèques clientes Mixed Reality

  • Bientôt disponible

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.

Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.

Impressions