Freigeben über


Azure Mixed Reality Authentication-Clientbibliothek für JavaScript – Version 1.0.0-beta.1

Mixed Reality-Dienste wie Azure Spatial Anchors, Azure Remote Rendering und andere verwenden den Mixed Reality Security Token Service (STS) für die Authentifizierung. Dieses Paket unterstützt den Austausch Mixed Reality Kontoanmeldeinformationen gegen ein Zugriffstoken vom STS, das für den Zugriff auf Mixed Reality Dienste verwendet werden kann.

Wichtige Links:

Mixed Reality Dienstauthentifizierungsdiagramm

Erste Schritte

Die derzeitig unterstützten Umgebungen

Voraussetzungen

Installieren Sie das Paket @azure/mixed-reality-authentication.

Installieren Sie die Azure Mixed Reality Authentication-Clientbibliothek für JavaScript mit npm:

npm install @azure/mixed-reality-authentication

Erstellen und Authentifizieren eines MixedRealityStsClient

Zum Erstellen eines Clientobjekts zum Anfordern eines Zugriffstokens für einen Mixed Reality-Dienst benötigen Sie die account identifier und account domain Ihrer Mixed Reality-Dienstressource und eine credential.

Mixed Reality-Dienste unterstützen verschiedene Authentifizierungsformen:

  • Kontoschlüsselauthentifizierung
    • Mit Kontoschlüsseln können Sie schnell mit der Verwendung Mixed Reality-Dienste beginnen. Aber bevor Sie Ihre Anwendung in der Produktionsumgebung bereitstellen, empfiehlt es sich, dass Sie Ihre App für die Verwendung von Azure AD-Authentifizierung aktualisieren.
  • Azure Active Directory(AD)-Tokenauthentifizierung
    • Wenn Sie eine Unternehmensanwendung entwickeln und Ihr Unternehmen Azure AD als Identitätssystem verwendet, können Sie die benutzerbasierte Azure AD-Authentifizierung in Ihrer App verwenden. Anschließend gewähren Sie Mithilfe Ihrer vorhandenen Azure AD-Sicherheitsgruppen Zugriff auf Ihre Mixed Reality-Konten. Sie können Benutzern in Ihrer Organisation Zugriff auch direkt gewähren.
    • Andernfalls empfiehlt es sich, Azure AD-Token von einem Webdienst abzurufen, der Ihre App unterstützt. Wir empfehlen diese Methode für Produktionsanwendungen, da sie das Einbetten der Anmeldeinformationen für den Zugriff auf einen Mixed Reality-Dienst in Ihrer Clientanwendung vermeiden kann.

Ausführliche Anweisungen und Informationen finden Sie hier .

Verwenden der Kontoschlüsselauthentifizierung

Verwenden Sie das Azure-Portal, um zu Ihrer Mixed Reality-Dienstressource zu navigieren und eine account keyabzurufen.

Sobald Sie über einen Kontoschlüssel verfügen, können Sie die AzureKeyCredential -Klasse verwenden, um den Client wie folgt zu authentifizieren:

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

Hinweis: Die Kontoschlüsselauthentifizierung wird für Produktionsanwendungen nicht empfohlen .

Verwenden von Azure Active Directory-Anmeldeinformationen

Die Kontoschlüsselauthentifizierung wird in den meisten Beispielen verwendet, Aber Sie können sich auch mit Azure Active Directory mithilfe der Azure Identity-Bibliothek authentifizieren. Dies ist die empfohlene Methode für Produktionsanwendungen. Um den unten gezeigten Anbieter DefaultAzureCredential oder andere anbieter von Anmeldeinformationen zu verwenden, die mit dem Azure SDK bereitgestellt werden, installieren Sie das @azure/identity Paket:

npm install @azure/identity

Außerdem müssen Sie eine neue AAD-Anwendung registrieren und Ihrem Mixed Reality-Ressource Zugriff gewähren, indem Sie Ihrem Dienstprinzipal die entsprechende Rolle für Ihren Mixed Reality-Dienst zuweisen.

Legen Sie die Werte der Client-ID, Mandanten-ID und geheimen Clientschlüssel der AAD-Anwendung als Umgebungsvariablen fest: 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());

Wichtige Begriffe

MixedRealityStsClient

Ist MixedRealityStsClient die Clientbibliothek, die verwendet wird, um auf die Mixed Reality STS zuzugreifen, um ein Zugriffstoken abzurufen.

Token, die vom Mixed Reality STS abgerufen werden, haben eine Lebensdauer von 24 Stunden.

Rückgabewert

Der Rückgabewert für einen erfolgreichen Aufruf von ist ein GetTokenResponse, bei dem es sich um getToken einen AccessToken von @azure/core-http handelt.

Beispiele

Abrufen eines Zugriffstokens

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

In den Authentifizierungsbeispielen oben oder in Azure Identity finden Sie komplexere Authentifizierungsszenarien.

Verwenden des Zugriffstokens in einer Mixed Reality Clientbibliothek

Einige Mixed Reality Clientbibliotheken akzeptieren möglicherweise ein Zugriffstoken anstelle von Anmeldeinformationen. Beispiel:

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

Hinweis: Die SpatialAnchorsClient obige Verwendung ist hypothetisch und spiegelt möglicherweise nicht die tatsächliche Bibliothek wider. Lesen Sie die Dokumentation für die Clientbibliothek, die Sie verwenden, um zu ermitteln, ob und wie dies unterstützt werden kann.

Problembehandlung

Protokollierung

Die Aktivierung der Protokollierung kann hilfreiche Informationen über Fehler aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die Umgebungsvariable AZURE_LOG_LEVEL auf info fest. Alternativ kann die Protokollierung zur Laufzeit aktiviert werden, indem Sie setLogLevel in @azure/logger aufrufen:

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

setLogLevel("info");

Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in der Paketdokumentation zu @azure/logger.

Nächste Schritte

Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie im Beispielverzeichnis .

Mitwirken

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.

Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.

Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.

Aufrufe