Share via


Azure Mixed Reality Authentication-Clientbibliothek für .NET– Version 1.2.0

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.

Quellcode | Paket (NuGet)

Mixed Reality-Dienstauthentifizierungsdiagramm

Erste Schritte

Installieren des Pakets

Installieren Sie die Azure Mixed Reality Authentication-Clientbibliothek für .NET mit NuGet:

dotnet add package Azure.MixedReality.Authentication

Fügen Sie einen Paketverweis hinzu:

<PackageReference Include="Azure.MixedReality.Authentication" Version="1.0.0" />

Voraussetzungen

Authentifizieren des Clients

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 .

Beispiele für die Authentifizierung

Im Folgenden finden Sie einige Beispiele für einige gängige Authentifizierungsszenarien, aber weitere Beispiele und Informationen finden Sie unter Azure.Identity.

Authentifizieren mit Kontoschlüsselauthentifizierung

Verwenden Sie die MixedRealityStsClient Konstruktorüberladung, die eine AzureKeyCredential akzeptiert, um die Kontoschlüsselauthentifizierung mit dem Mixed Reality STS zu konfigurieren:

AzureKeyCredential keyCredential = new AzureKeyCredential(accountKey);
MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, keyCredential);

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

Authentifizieren mit einem geheimen AAD-Clientschlüssel
TokenCredential aadCredential = new ClientSecretCredential(tenantId, clientId, clientSecret, new TokenCredentialOptions
{
    AuthorityHost = new Uri($"https://login.microsoftonline.com/{tenantId}")
});

MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, aadCredential);
Authentifizieren eines Benutzers mithilfe der Gerätecodeauthentifizierung
Task deviceCodeCallback(DeviceCodeInfo deviceCodeInfo, CancellationToken cancellationToken)
{
    Debug.WriteLine(deviceCodeInfo.Message);
    Console.WriteLine(deviceCodeInfo.Message);
    return Task.FromResult(0);
}

TokenCredential deviceCodeCredential = new DeviceCodeCredential(deviceCodeCallback, tenantId, clientId, new TokenCredentialOptions
{
    AuthorityHost = new Uri($"https://login.microsoftonline.com/{tenantId}"),
});

MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, deviceCodeCredential);

AccessToken token = await client.GetTokenAsync();

Weitere Informationen zum Verwenden des Authentifizierungsablaufs für Gerätecode finden Sie hier .

Interaktive Authentifizierung mit DefaultAzureCredential

Verwenden Sie das -Objekt mitincludeInteractiveCredentials: true, um den DefaultAzureCredential standardmäßigen interaktiven Authentifizierungsfluss zu verwenden:

TokenCredential credential = new DefaultAzureCredential(includeInteractiveCredentials: true);

MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, credential);

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.

Threadsicherheit

Wir garantieren, dass alle Client-instance Methoden threadsicher und voneinander unabhängig sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch über Threads hinweg.

Zusätzliche Konzepte

Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer

Beispiele

Abrufen eines Zugriffstokens

AzureKeyCredential keyCredential = new AzureKeyCredential(accountKey);
MixedRealityStsClient client = new MixedRealityStsClient(accountId, accountDomain, keyCredential);

AccessToken token = await client.GetTokenAsync();

In den obigen Authentifizierungsbeispielen 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.
AccessToken accessToken = await GetMixedRealityAccessTokenFromWebService();

SpatialAnchorsAccount account = new SpatialAnchorsAccount(accountId, accountDomain);
SpatialAnchorsClient 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 festzustellen, ob und wie dies unterstützt werden kann.

Problembehandlung

Nächste Schritte

Clientbibliotheken, die die Authentifizierung mit Mixed Reality-Authentifizierung unterstützen

Bibliotheken, die die Mixed Reality-Authentifizierung unterstützen, sind 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.