Partager via


Bibliothèque de client Azure Mixed Reality Authentication pour JavaScript - version 1.0.0-beta.1

Les services de réalité mixte, comme Azure Remote Rendering, utilisent le service STS (Mixed Reality Security Token Service) pour l’authentification. Ce package prend en charge l’échange d’informations d’identification de compte Mixed Reality pour un jeton d’accès à partir du STS qui peut être utilisé pour accéder aux services Mixed Reality.

Liens clés :

Commencer

Environnements actuellement pris en charge

Conditions préalables

  • Un abonnement Azure .
  • Vous devez disposer d’un compte avec un service Azure Mixed Reality :
    • Azure Remote Rendering
  • Connaissance des concepts d’authentification et d’informations d’identification de la bibliothèque d’identités Azure .

Installer le package @azure/mixed-reality-authentication

Installez la bibliothèque de client Azure Mixed Reality Authentication pour JavaScript avec npm:

npm install @azure/mixed-reality-authentication

Créer et authentifier un MixedRealityStsClient

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

Les services de réalité mixte prennent en charge plusieurs formes d’authentification :

  • Authentification par clé de compte
    • Les clés de compte vous permettent de commencer rapidement à utiliser les services de réalité mixte. 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 qui prend en charge votre application. Nous vous recommandons cette méthode pour les applications de production, car elle vous permet d’éviter d’incorporer les informations d’identification pour l’accès à un service Mixed Reality dans votre application cliente.

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 avez une clé de compte, vous pouvez utiliser la classe AzureKeyCredential pour authentifier le client comme suit :

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

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 d’identités Azure . 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 package @azure/identity :

npm install @azure/identity

Vous devez également [inscrire une nouvelle application AAD][register_aad_app] et accorder l’accès à votre ressource De réalité mixte en affectant le rôle approprié pour votre service Mixed Reality à votre principal de service.

Définissez les valeurs de l’ID client, de l’ID de locataire et de la clé secrète client de l’application AAD en tant que variables d’environnement : 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());

Concepts clés

MixedRealityStsClient

La MixedRealityStsClient est la bibliothèque cliente utilisée pour accéder au STS de réalité mixte pour obtenir un jeton d’accès.

Les jetons obtenus à partir du STS de réalité mixte ont une durée de vie de 24 heures.

Valeur de retour

La valeur de retour d’un appel réussi à getToken est un GetTokenResponse, qui est un AccessToken de @azure/core-http.

Exemples

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

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

Consultez d’identité Azure pour obtenir des scénarios d’authentification plus complexes.

Utilisation du jeton d’accès dans une bibliothèque cliente 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.
const accessToken = await GetMixedRealityAccessTokenFromWebService();

const account = new SpatialAnchorsAccount(accountId, accountDomain);
const 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

Exploitation forestière

L’activation de la journalisation peut vous aider à découvrir des informations utiles sur les échecs. Pour afficher un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL sur info. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel dans la @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Pour obtenir des instructions plus détaillées sur l’activation des journaux, vous pouvez consulter la documentation du package@azure/enregistreur d’événements.

Étapes suivantes

Consultez les exemples répertoire pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.

Contribuant

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

Lorsque vous envoyez une demande de tirage( pull request), un bot CLA détermine automatiquement si vous devez fournir un CLA et décorer correctement la demande de tirage (par exemple, étiquette, commentaire). Suivez simplement les instructions fournies par le bot. Vous n’aurez besoin de le faire qu’une seule fois sur tous les dépôts à l’aide de notre CLA.

Ce projet a adopté le code de conduite Microsoft Open Source. Pour plus d’informations, consultez le forum aux questions du Code de conduite ou contactez opencode@microsoft.com avec des questions ou commentaires supplémentaires.

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