適用於 JavaScript 的 Azure 混合實境驗證客戶端連結庫 - 1.0.0-beta.1 版
混合實境服務,例如 Azure 遠端轉譯,使用混合實境安全性令牌服務 (STS) 進行驗證。 此套件支持交換混合實境帳戶認證,以取得可用來存取混合實境服務的 STS 存取令牌。
主要連結:
開始
目前支持的環境
先決條件
- Azure 訂用帳戶。
- 您必須擁有具有 Azure Mixed Reality 服務的帳戶:
- 熟悉來自 Azure 身分識別連結庫的驗證和認證概念,。
安裝 @azure/mixed-reality-authentication
套件
使用 npm
安裝適用於 JavaScript 的 Azure Mixed Reality Authentication 用戶端連結庫:
npm install @azure/mixed-reality-authentication
建立和驗證 MixedRealityStsClient
若要建立客戶端物件來要求混合實境服務的存取令牌,您需要混合實境服務資源的 account identifier
和 account domain
和 credential
。
混合實境服務支援幾種不同的驗證形式:
- 帳戶金鑰驗證
- 帳戶金鑰可讓您快速開始使用混合實境服務。 但在您將應用程式部署至生產環境之前,建議您先更新應用程式以使用 Azure AD 驗證。
- Azure Active Directory (AD) 令牌驗證
- 如果您要建置企業應用程式,且您的公司使用 Azure AD 作為其身分識別系統,您可以在應用程式中使用使用者型 Azure AD 驗證。 接著,您可以使用現有的 Azure AD 安全組來授與混合實境帳戶的存取權。 您也可以直接將存取權授與組織中的使用者。
- 否則,建議您從支援應用程式的 Web 服務取得 Azure AD 令牌。 建議您針對生產應用程式使用此方法,因為它可讓您避免在用戶端應用程式中內嵌認證以存取混合實境服務。
使用帳戶金鑰驗證
使用 Azure 入口網站 流覽至您的混合實境服務資源,並擷取 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 身分識別連結庫向 Azure Active Directory 進行驗證。 這是生產應用程式的建議方法。 若要使用如下所示的 DefaultAzureCredential 提供者,或 Azure SDK 所提供的其他認證提供者,請安裝 @azure/identity
套件:
npm install @azure/identity
您也需要 [註冊新的 AAD 應用程式][register_aad_app],並將混合實境服務的適當角色指派給服務主體,以授與混合實境資源的存取權。
將 AAD 應用程式的用戶端識別碼、租使用者識別碼和客戶端密碼的值設定為環境變數: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());
重要概念
MixedRealityStsClient
MixedRealityStsClient
是用來存取混合實境 STS 以取得存取令牌的用戶端連結庫。
從混合實境 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 身分識別。
在混合實境用戶端連結庫中使用存取令牌
某些混合實境客戶端連結庫可能會接受存取令牌來取代認證。 例如:
// 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/logger
中呼叫 setLogLevel
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
如需如何啟用記錄的詳細指示,請參閱 @azure/記錄器套件檔。
後續步驟
如需如何使用此連結庫的詳細範例,請參閱 範例 目錄。
貢獻
此項目歡迎參與和建議。 大部分的捐款都要求您同意「參與者許可協定」(CLA),宣告您有權,而且實際上確實會授與我們使用您貢獻的許可權。 如需詳細資訊,請瀏覽 https://cla.microsoft.com。
當您提交提取要求時,CLA-Bot 會自動判斷您是否需要提供 CLA 並適當裝飾 PR(例如標籤、批註)。 只要遵循 Bot 所提供的指示即可。 您只需要使用我們的 CLA 在所有存放庫上執行此動作一次。
此專案已採用 Microsoft開放原始碼。 如需詳細資訊,請參閱 《行為規範》常見問題 或連絡 opencode@microsoft.com,以取得任何其他問題或意見。
如果您想要參與此連結庫,請閱讀 參與指南,以深入瞭解如何建置和測試程序代碼。
相關專案