次の方法で共有


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

ID ライブラリは、Azure Communication Servicesのユーザーとトークンを管理するために使用されます。

作業の開始

前提条件

[インストール中]

npm install @azure/communication-identity

ブラウザーのサポート

JavaScript バンドル

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

主要な概念

クライアント

には CommunicationIdentityClient 、ユーザーとそのトークンを管理するメソッドが用意されています。

認証

Azure Portal で Communication Services リソースからキーや接続文字列を取得できます。 キーを取得したら、次のいずれかの方法で を CommunicationIdentityClient 認証できます。

クライアントをAzureKeyCredential初期化する前に を使用して を作成KeyCredentialする

import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";

const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(ENDPOINT, credential);

接続文字列の使用

import { CommunicationIdentityClient } from "@azure/communication-identity";

const connectionString = `endpoint=ENDPOINT;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);

TokenCredential の使用

import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";

const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(ENDPOINT, credential);

キーを使用してクライアントを初期化する場合は、適切なエンドポイントも指定する必要があります。 このエンドポイントは、 Azure Portal の Communication Services リソースから取得できます。

使用

CommunicationIdentityClient のインスタンスの作成

import { CommunicationIdentityClient } from "@azure/communication-identity";

const client = new CommunicationIdentityClient(CONNECTION_STRING);

新しいユーザーの作成

メソッドを createUser 使用して新しいユーザーを作成します。

const user = await client.createUser();

ユーザー トークンの作成と更新

メソッドを getToken 使用して、既存のユーザーのトークンを発行または更新します。 メソッドは、通信トークン スコープの一覧も受け取ります。 スコープ オプションには、次のものが含まれます。

  • chat (チャット API へのフル アクセスには、これを使用します)
  • voip (呼び出し元 API へのフル アクセスには、これを使用します)
  • chat.join (チャット API へのアクセス(ただし、チャット スレッドを作成、削除、または更新するための承認なし)
  • chat.join.limited (参加者の追加または削除を許可しない、より限定的なバージョンの chat.join)
  • voip.join (呼び出し元 API へのアクセス(ただし、新しい呼び出しを開始するための承認なし)
let { token } = await client.getToken(user, ["chat"]);

ユーザー トークンを更新するには、同じユーザーで別のトークンを発行します。

let { token } = await client.getToken(user, ["chat"]);

カスタム有効期限を使用してユーザー トークンを作成する

また、有効期限をカスタマイズすることで、通信 ID アクセス トークンを作成することもできます。 トークンの有効期間は [60,1440] 分の範囲内である必要があります。 指定しない場合、既定値の 1440 分 (24 時間) が使用されます。

const tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let { token } = await client.getToken(user, ["chat"], tokenOptions);

1 つの要求でユーザーとトークンを作成する

便宜上、 を使用 createUserAndToken して新しいユーザーを作成し、1 つの関数呼び出しでトークンを発行します。 これは、最初にユーザーを作成してからトークンを発行するのではなく、単一の Web 要求に変換されます。

let { user, token } = await client.createUserAndToken(["chat"]);

1 つの要求でカスタムの有効期限を持つユーザーとトークンを作成する

また、有効期限をカスタマイズすることで、通信 ID アクセス トークンを作成することもできます。 トークンの有効期間は [60,1440] 分の範囲内である必要があります。 指定しない場合、既定値の 1440 分 (24 時間) が使用されます。

const userAndTokenOptions: CreateUserAndTokenOptions = { tokenExpiresInMinutes: 60 };
let { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);

ユーザーのトークンの取り消し

メソッドを revokeTokens 使用して、ユーザーに対して発行されたすべてのトークンを取り消します。

await client.revokeTokens(user);

ユーザーの削除

ユーザーを削除するには、 deleteUser メソッドを使用します。

await client.deleteUser(user);

Teams ユーザーの Azure AD アクセス トークンを通信アクセス トークンと交換する

メソッドを使用して getTokenForTeamsUser 、Teams ユーザーの Azure AD アクセス トークンを、有効期限が一致する新 CommunicationAccessToken しいユーザーと交換します。

await client.getTokenForTeamsUser({
  teamsUserAadToken: "<aad-access-token-of-a-teams-user>",
  clientId: "<cliend-id-of-an-aad-application>",
  userObjectId: "<aad-object-id-of-a-teams-user>",
});

トラブルシューティング

次のステップ

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

共同作成

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

インプレッション数