適用於 JavaScript 的 Azure Communication Common 用戶端連結庫 - 2.3.1 版
此套件包含 Azure 通訊服務連結庫的常見程式代碼。
開始使用
Prerequisites
- Azure 訂用帳戶。
- 現有的通訊服務資源。 如果您需要建立資源,您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI。
安裝
npm install @azure/communication-common
瀏覽器支援
JavaScript 套件組合
若要在瀏覽器中使用此用戶端連結庫,您必須先使用套件組合器。 如需如何執行這項操作的詳細資訊,請參閱我們的 統合檔。
重要概念
CommunicationTokenCredential 和 AzureCommunicationTokenCredential
CommunicationTokenCredential
是用來向通訊服務驗證使用者的介面,例如聊天或通話。
AzureCommunicationTokenCredential
提供方便的方式來建立實作上述介面的認證,並可讓您利用內建的自動重新整理邏輯。
視您的案例而定,您可能想要使用下列項目來初始化 AzureCommunicationTokenCredential
:
- 靜態令牌 (適用於短期用戶端,例如傳送一次性聊天訊息) 或
- 回呼函式,可確保在通訊期間持續驗證狀態 (理想,例如長時間呼叫會話) 。
您可以使用 Azure 通訊識別連結庫,透過建構函式或令牌重新整理器回呼來取得提供給 AzureCommunicationTokenCredential
的令牌。
範例
使用靜態令牌建立認證
對於短期用戶端,不需要在到期時重新整理令牌,而且 AzureCommunicationTokenCredential
可能會使用靜態令牌具現化。
const tokenCredential = new AzureCommunicationTokenCredential(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);
使用回呼建立認證
我們假設我們有一個 fetchTokenFromMyServerForUser
函式,可提出網路要求來擷取使用者的 JWT 令牌字串。 我們會將它傳遞至認證,以從自己的伺服器擷取 Bob 的令牌。 我們的伺服器會使用 Azure 通訊識別連結庫來發行令牌。 函式必須 fetchTokenFromMyServerForUser
傳回有效的令牌 (,並隨時在日後設定到期日) 。
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});
使用主動式重新整理建立認證
將 設定 refreshProactively
為 true 會在令牌即將到期時呼叫您的 tokenRefresher
函式。
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
});
使用主動式重新整理和初始令牌建立認證
initialToken
傳遞是選擇性的優化,可略過對 的第一次呼叫tokenRefresher
。 您可以使用此選項,將開機與應用程式的開機與後續的令牌重新整理週期分開。
const tokenCredential = new AzureCommunicationTokenCredential({
tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
refreshProactively: true,
token:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});
疑難排解
- 指定的令牌無效:請確定您傳遞至建
AzureCommunicationTokenCredential
構函式或回呼的tokenRefresher
令牌是裸機的 JWT 令牌字串。 例如,如果您使用 Azure 通訊識別連結庫 或 REST API 來取得令牌,請確定您只token
傳遞回應物件的部分。
下一步
參與
如果您希望向此程式庫投稿,請參閱投稿指南,深入瞭解如何組建與測試程式碼。