Udostępnij za pośrednictwem


Biblioteka klienta usługi Azure Mixed Reality Authentication dla języka JavaScript — wersja 1.0.0-beta.1

Mixed Reality usług, takich jak Azure Spatial Anchors, Azure Remote Rendering i inne, do uwierzytelniania użyj usługi Mixed Reality tokenu zabezpieczającego (STS). Ten pakiet obsługuje wymianę poświadczeń konta Mixed Reality dla tokenu dostępu z usługi STS, których można użyć do uzyskiwania dostępu do usług Mixed Reality.

Linki kluczowe:

Diagram uwierzytelniania usługi Mixed Reality

Wprowadzenie

Obecnie obsługiwane środowiska

Wymagania wstępne

Instalowanie pakietu @azure/mixed-reality-authentication

Zainstaluj bibliotekę klienta usługi Azure Mixed Reality Authentication dla języka JavaScript przy użyciu polecenia npm:

npm install @azure/mixed-reality-authentication

Tworzenie i uwierzytelnianie MixedRealityStsClient

Aby utworzyć obiekt klienta w celu zażądania tokenu dostępu dla usługi Mixed Reality, potrzebne będą elementy account identifier i account domain zasobu usługi Mixed Reality oraz credential.

usługi Mixed Reality obsługują kilka różnych form uwierzytelniania:

  • Uwierzytelnianie za pomocą klucza konta
    • Klucze kont umożliwiają szybkie rozpoczęcie pracy z usługami Mixed Reality. Jednak przed wdrożeniem aplikacji w środowisku produkcyjnym zalecamy zaktualizowanie aplikacji tak, aby korzystała z uwierzytelniania Azure AD.
  • Uwierzytelnianie tokenu usługi Azure Active Directory (AD)
    • Jeśli tworzysz aplikację dla przedsiębiorstw, a twoja firma używa Azure AD jako systemu tożsamości, możesz użyć uwierzytelniania Azure AD opartego na użytkownikach w aplikacji. Następnie przyznasz dostęp do kont Mixed Reality przy użyciu istniejących grup zabezpieczeń Azure AD. Możesz również udzielić dostępu bezpośrednio użytkownikom w organizacji.
    • W przeciwnym razie zalecamy uzyskanie Azure AD tokenów z usługi internetowej obsługującej aplikację. Zalecamy tę metodę dla aplikacji produkcyjnych, ponieważ pozwala uniknąć osadzania poświadczeń w celu uzyskania dostępu do usługi Mixed Reality w aplikacji klienckiej.

Zobacz tutaj , aby uzyskać szczegółowe instrukcje i informacje.

Korzystanie z uwierzytelniania za pomocą klucza konta

Użyj witryny Azure Portal, aby przejść do zasobu usługi Mixed Reality i pobrać element account key.

Po utworzeniu klucza konta możesz użyć AzureKeyCredential klasy , aby uwierzytelnić klienta w następujący sposób:

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

Uwaga: uwierzytelnianie za pomocą klucza konta nie jest zalecane w przypadku aplikacji produkcyjnych.

Używanie poświadczeń usługi Azure Active Directory

W większości przykładów jest używane uwierzytelnianie za pomocą klucza konta, ale można również uwierzytelniać się w usłudze Azure Active Directory przy użyciu biblioteki tożsamości platformy Azure. Jest to zalecana metoda dla aplikacji produkcyjnych. Aby użyć podanego poniżej dostawcy DefaultAzureCredential lub innych dostawców poświadczeń dostarczanych z zestawem Azure SDK, zainstaluj @azure/identity pakiet:

npm install @azure/identity

Musisz również zarejestrować nową aplikację usługi AAD i udzielić dostępu do zasobu Mixed Reality, przypisując odpowiednią rolę dla usługi Mixed Reality do jednostki usługi.

Ustaw wartości identyfikatora klienta, identyfikatora dzierżawy i klucza tajnego klienta aplikacji usługi AAD jako zmienne środowiskowe: AZURE_CLIENT_ID, , AZURE_CLIENT_SECRETAZURE_TENANT_ID.

const { MixedRealityStsClient } = require("@azure/mixed-reality-authentication");
const { DefaultAzureCredential } = require("@azure/identity");

const client = new MixedRealityStsClient(accountId, accountDomain, new DefaultAzureCredential());

Kluczowe pojęcia

MixedRealityStsClient

Jest MixedRealityStsClient to biblioteka klienta używana do uzyskiwania dostępu do usługi Mixed Reality STS w celu uzyskania tokenu dostępu.

Tokeny uzyskane z usługi Mixed Reality STS mają okres istnienia 24 godzin.

Wartość zwracana

Wartość zwracana dla pomyślnego wywołania getToken metody to GetTokenResponse, który jest elementem AccessToken z @azure/core-http.

Przykłady

Pobieranie tokenu dostępu

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

Zapoznaj się z powyższymi przykładami uwierzytelniania lub usługą Azure Identity , aby uzyskać bardziej złożone scenariusze uwierzytelniania.

Używanie tokenu dostępu w bibliotece klienta Mixed Reality

Niektóre Mixed Reality biblioteki klienckie mogą akceptować token dostępu zamiast poświadczeń. Przykład:

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

Uwaga: powyższe SpatialAnchorsClient użycie jest hipotetyczne i może nie odzwierciedlać rzeczywistej biblioteki. Zapoznaj się z dokumentacją biblioteki klienta, której używasz, aby określić, czy i jak może to być obsługiwane.

Rozwiązywanie problemów

Rejestrowanie

Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań i odpowiedzi HTTP, ustaw zmienną AZURE_LOG_LEVEL środowiskową na info. Alternatywnie rejestrowanie można włączyć w czasie wykonywania, wywołując setLogLevel polecenie w pliku @azure/logger:

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

setLogLevel("info");

Aby uzyskać bardziej szczegółowe instrukcje dotyczące włączania dzienników, zapoznaj się z dokumentami dotyczącymi pakietów @azure/rejestratora.

Następne kroki

Zapoznaj się z katalogiem samples , aby zapoznać się ze szczegółowymi przykładami dotyczącymi korzystania z tej biblioteki.

Współtworzenie

W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę https://cla.microsoft.com.

Po przesłaniu żądania ściągnięcia robot CLA automatycznie określi, czy musisz przekazać umowę CLA, i doda odpowiednie informacje do tego żądania (na przykład etykietę czy komentarz). Po prostu postępuj zgodnie z instrukcjami robota. Wystarczy zrobić to raz dla wszystkich repozytoriów, w przypadku których jest używana nasza umowa CLA.

W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.

Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.

Wrażenia