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 :
- code source |
- | package(NPM)
- Documentation de référence de l’API |
- Exemples
Commencer
Environnements actuellement pris en charge
Conditions préalables
- Un abonnement Azure .
- Vous devez disposer d’un compte avec un service Azure Mixed Reality :
- 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.
Projets connexes
Azure SDK for JavaScript