次の方法で共有


JavaScript 用 Azure Mixed Reality Authentication クライアント ライブラリ - バージョン 1.0.0-beta.1

Azure Remote Rendering などの Mixed Reality サービスでは、認証に Mixed Reality セキュリティ トークン サービス (STS) を使用します。 このパッケージは、Mixed Reality サービスへのアクセスに使用できる STS からのアクセス トークンの Mixed Reality アカウント資格情報の交換をサポートしています。

主要なリンク:

はじめ

現在サポートされている環境

前提 条件

@azure/mixed-reality-authentication パッケージをインストールする

npmを使用して JavaScript 用の Azure Mixed Reality Authentication クライアント ライブラリをインストールします。

npm install @azure/mixed-reality-authentication

MixedRealityStsClient を作成して認証する

Mixed Reality サービスのアクセス トークンを要求するクライアント オブジェクトを作成するには、Mixed Reality サービス リソースの account identifieraccount ___domaincredentialが必要です。

Mixed Reality サービスでは、いくつかの異なる形式の認証がサポートされています。

  • アカウント キー認証
    • アカウント キーを使用すると、Mixed Reality サービスの使用をすぐに開始できます。 ただし、アプリケーションを運用環境にデプロイする前に、Azure AD 認証を使用するようにアプリを更新することをお勧めします。
  • Azure Active Directory (AD) トークン認証
    • エンタープライズ アプリケーションを構築していて、会社が ID システムとして Azure AD を使用している場合は、アプリでユーザーベースの Azure AD 認証を使用できます。 その後、既存の Azure AD セキュリティ グループを使用して、Mixed Reality アカウントへのアクセス権を付与します。 また、組織内のユーザーに直接アクセス権を付与することもできます。
    • それ以外の場合は、アプリをサポートする Web サービスから Azure AD トークンを取得することをお勧めします。 運用環境のアプリケーションでは、クライアント アプリケーションで Mixed Reality サービスにアクセスするための資格情報が埋め込まれるのを回避できるため、この方法をお勧めします。

アカウント キー認証の使用

Azure Portal を使用して、Mixed Reality サービス リソースを参照し、account keyを取得します。

アカウント キーを取得したら、AzureKeyCredential クラスを使用して、次のようにクライアントを認証できます。

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

注: 実稼働アプリケーション アカウント キー認証 は推奨されません。

Azure Active Directory 資格情報の使用

アカウント キー認証はほとんどの例で使用されますが、Azure ID ライブラリを使用して Azure Active Directory で認証することもできます。 これは、運用アプリケーションに推奨される方法です。 以下に示す DefaultAzureCredential プロバイダー、または Azure SDK で提供されているその他の資格情報プロバイダーを使用するには、@azure/identity パッケージをインストールしてください。

npm install @azure/identity

また、[新しい AAD アプリケーションを登録する][register_aad_app] し、Mixed Reality サービスの適切なロールをサービス プリンシパルに割り当てることで、Mixed Reality リソースへのアクセス権を付与する必要があります。

AAD アプリケーションのクライアント ID、テナント ID、クライアント シークレットの値を環境変数 (AZURE_CLIENT_IDAZURE_TENANT_IDAZURE_CLIENT_SECRET) として設定します。

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

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

主な概念

MixedRealityStsClient

MixedRealityStsClient は、Mixed Reality STS にアクセスしてアクセス トークンを取得するために使用されるクライアント ライブラリです。

Mixed Reality STS から取得されたトークンの有効期間は、24 時間です。

戻り値

getToken への正常な呼び出しの戻り値は、GetTokenResponseです。これは、@azure/core-httpからの AccessToken です。

アクセス トークンを取得する

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

より複雑な認証シナリオについては、Azure ID に関するページを参照してください。

Mixed Reality クライアント ライブラリでのアクセス トークンの使用

一部の Mixed Reality クライアント ライブラリでは、資格情報の代わりにアクセス トークンを受け入れる場合があります。 例えば:

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

注: 上記の SpatialAnchorsClient 使用法は架空のものであり、実際のライブラリを反映していない可能性があります。 使用しているクライアント ライブラリのドキュメントを参照して、これがサポートされるかどうかとその方法を確認してください。

トラブルシューティング

伐採

ログ記録を有効にすると、エラーに関する有用な情報を明らかにするのに役立つ場合があります。 HTTP 要求と応答のログを表示するには、AZURE_LOG_LEVEL 環境変数を infoに設定します。 または、@azure/loggersetLogLevel を呼び出すことによって、実行時にログを有効にすることもできます。

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

setLogLevel("info");

ログを有効にする方法の詳細な手順については、@azure/logger パッケージのドキュメントを参照してください。

次の手順

このライブラリの使用方法の詳細な例については、ディレクトリ サンプルを参照してください。

貢献

このプロジェクトは、投稿と提案を歓迎します。 ほとんどの投稿では、お客様が投稿を使用する権利を当社に付与する権利を有し、実際に行うことを宣言する共同作成者ライセンス契約 (CLA) に同意する必要があります。 詳細については、https://cla.microsoft.comを参照してください。

プル要求を送信すると、CLA ボットは、CLA を提供し、PR を適切に装飾する必要があるかどうかを自動的に判断します (ラベル、コメントなど)。 ボットによって提供される指示に従うだけです。 これは、CLA を使用するすべてのリポジトリで 1 回だけ行う必要があります。

このプロジェクトでは、Microsoft オープン ソースの行動規範を採用しています。 詳細については、行動規範に関する FAQ を参照するか、その他の質問やコメントを opencode@microsoft.com にお問い合わせください。

このライブラリに投稿する場合は、コードをビルドしてテストする方法の詳細については、投稿ガイド を参照してください。

  • Microsoft Azure SDK for Javascript

インプレッション