次の方法で共有


JavaScript 用 Azure Communication Common クライアント ライブラリ - バージョン 2.3.1

このパッケージには、Azure Communication Service ライブラリの一般的なコードが含まれています。

作業の開始

前提条件

[インストール中]

npm install @azure/communication-common

ブラウザーのサポート

JavaScript バンドル

ブラウザーでこのクライアント ライブラリを使用するには、まず bundler を使用する必要があります。 これを行う方法の詳細については、 バンドルに関するドキュメントを参照してください。

主要な概念

CommunicationTokenCredential と AzureCommunicationTokenCredential

CommunicationTokenCredentialは、チャットや通話などの Communication Services でユーザーを認証するために使用されるインターフェイスです。

には AzureCommunicationTokenCredential 、上記のインターフェイスを実装する資格情報を作成するための便利な方法が用意されており、組み込みの自動更新ロジックを利用できます。

シナリオによっては、次を使用して を AzureCommunicationTokenCredential 初期化できます。

  • 静的トークン (1 回限りのチャット メッセージの送信など、有効期間の短いクライアントに適しています) または
  • 通信中に継続的な認証状態を保証するコールバック関数 (長い通話セッションに最適)。

コンストラクターまたはトークン リフレッシャー コールバックを介して に AzureCommunicationTokenCredential 提供されるトークンは、Azure Communication Identity ライブラリを使用して取得できます。

静的トークンを使用して資格情報を作成する

有効期間の短いクライアントの場合、有効期限が切れた時点でトークンを更新する必要はありません。静的トークンを使用して を AzureCommunicationTokenCredential インスタンス化できます。

const tokenCredential = new AzureCommunicationTokenCredential(
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);

コールバックを使用して資格情報を作成する

ここでは、ユーザーの JWT トークン文字列を取得するネットワーク要求を行う関数 fetchTokenFromMyServerForUser があることを前提としています。 それを資格情報に渡して、Bob のトークンを独自のサーバーからフェッチします。 このサーバーでは、Azure Communication Identity ライブラリを使用してトークンを発行します。 関数は常に fetchTokenFromMyServerForUser 有効なトークンを返す必要があります (有効期限が将来設定されます)。

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});

プロアクティブな更新を使用して資格情報を作成する

true に設定 refreshProactively すると、トークンの有効期限が近づくと関数が呼び出 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",
});

トラブルシューティング

  • 無効なトークンが指定されました: コンストラクターまたはtokenRefresherコールバックにAzureCommunicationTokenCredential渡すトークンが、ベア JWT トークン文字列であることを確認します。 たとえば、 Azure Communication Identity ライブラリ または REST API を使用してトークンを取得する場合は、応答オブジェクトの一部のみを token 渡していることを確認してください。

次の手順

共同作成

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

インプレッション数