Freigeben über


Buildstatus

Clientbibliothek des Azure Mixed Reality-Authentifizierungspakets für Python– Version 1.0.0b1

Mixed Reality Dienste wie Azure Spatial Anchors, Azure Remote Rendering und andere verwenden den Mixed Reality Sicherheitstokendienst (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.

Mixed Reality-Dienstauthentifizierungsdiagramm

Erste Schritte

Die derzeitig unterstützten Umgebungen

Dieses Paket wurde mit Python 2.7, 3.5, 3.6, 3.7, 3.8 und 3.9 getestet.

Voraussetzungen

Installieren des Pakets

Installieren Sie das Azure Mixed Reality Authentication SDK.

pip install --pre azure-mixedreality-authentication

Erstellen und Authentifizieren eines MixedRealityStsClient

Um ein Clientobjekt zum Anfordern eines Zugriffstokens für einen Mixed Reality-Dienst zu erstellen, benötigen Sie und der account identifieraccount domain Mixed Reality-Dienstressource und eine credential.

Mixed Reality-Dienste unterstützen einige 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-Tokenauthentifizierung (AD)
    • 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 die Einbettung der Anmeldeinformationen für den Zugriff auf einen Mixed Reality-Dienst in Ihrer Clientanwendung vermeiden können.

Ausführliche Anweisungen und Informationen finden Sie hier .

Verwenden der Kontoschlüsselauthentifizierung

Navigieren Sie im Azure-Portal zu Ihrer Mixed Reality-Dienstressource, und rufen Sie eine account keyab.

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

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)

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 mithilfe der Azure Identity-Bibliothek bei Azure Active Directory authentifizieren. Dies ist die empfohlene Methode für Produktionsanwendungen. Um den unten gezeigten DefaultAzureCredential-Anbieter oder andere Anmeldeinformationsanbieter zu verwenden, die mit dem Azure SDK bereitgestellt werden, installieren Sie das @azure/identity Paket:

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

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)

Wichtige Begriffe

MixedRealityStsClient

ist MixedRealityStsClient die Clientbibliothek, die verwendet wird, um auf die Mixed Reality STS zuzugreifen, um ein Zugriffstoken abzurufen. Ein Zugriffstoken kann durch Aufrufen get_token() einer MixedRealityStsClient -Instanz abgerufen werden.

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

Tokenergebniswert

Der Rückgabewert für einen erfolgreichen Aufruf von get_token ist ein azure.core.credentials.AccessToken.

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

Synchrones Abrufen eines Zugriffstokens

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

asynchrones Abrufen eines Zugriffstokens

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

Beispiele

Dies sind Codebeispiele, die allgemeine Szenariovorgänge mit der Azure Mixed Reality Authentication-Clientbibliothek zeigen. Die asynchronen Versionen der Beispiele (die python-Beispieldateien, die mit _asyncangefügt sind) zeigen asynchrone Vorgänge an und erfordern Python 3.5 oder höher. Lesen Sie vor dem Ausführen des Beispielcodes unter Voraussetzungen.

, um eine Ressource zu erstellen, und legen Sie dann einige Umgebungsvariablen fest.

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

Problembehandlung

Der Abschnitt zur Problembehandlung für Azure Identity kann bei der Behandlung von Authentifizierungsproblemen hilfreich sein.

Nächste Schritte

Mixed Reality Clientbibliotheken

  • In Kürze verfügbar

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