Bagikan melalui


Pustaka klien Azure Communication Identity untuk JavaScript - versi 1.3.1

Pustaka identitas digunakan untuk mengelola pengguna dan token untuk Azure Communication Services.

Memulai

Prasyarat

Menginstal

npm install @azure/communication-identity

Dukungan browser

Bundel JavaScript

Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.

Konsep utama

Klien

menyediakan CommunicationIdentityClient metode untuk mengelola pengguna dan token mereka.

Contoh

Autentikasi

Anda bisa mendapatkan kunci dan/atau string koneksi dari sumber daya Communication Services Anda di Portal Microsoft Azure. Setelah memiliki kunci, Anda dapat mengautentikasi CommunicationIdentityClient dengan salah satu metode berikut:

Buat KeyCredential dengan AzureKeyCredential sebelum menginisialisasi klien

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

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

Menggunakan string koneksi

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

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

Menggunakan TokenCredential

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

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

Jika Anda menggunakan kunci untuk menginisialisasi klien, Anda juga perlu menyediakan titik akhir yang sesuai. Anda bisa mendapatkan titik akhir ini dari sumber daya Communication Services Anda di Portal Microsoft Azure.

Penggunaan

Membuat instans CommunicationIdentityClient

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

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Membuat pengguna baru

createUser Gunakan metode untuk membuat pengguna baru.

const user = await client.createUser();

Membuat dan menyegarkan token pengguna

getToken Gunakan metode untuk mengeluarkan atau merefresh token untuk pengguna yang sudah ada. Metode ini juga mengambil daftar cakupan token komunikasi. Opsi cakupan meliputi:

  • chat (Gunakan ini untuk akses penuh ke API Obrolan)
  • voip (Gunakan ini untuk akses penuh ke API Panggilan)
  • chat.join (Akses ke API Obrolan tetapi tanpa otorisasi untuk membuat, menghapus, atau memperbarui utas obrolan)
  • chat.join.limited (Versi chat.join yang lebih terbatas yang tidak memungkinkan untuk menambahkan atau menghapus peserta)
  • voip.join (Akses ke API Panggilan tetapi tanpa otorisasi untuk memulai panggilan baru)
let { token } = await client.getToken(user, ["chat"]);

Untuk merefresh token pengguna, terbitkan token lain dengan pengguna yang sama.

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

Membuat token pengguna dengan kedaluwarsa kustom

Anda juga dapat membuat token akses Identitas Komunikasi dengan menyesuaikan waktu kedaluwarsa. Periode validitas token harus dalam rentang [60.1440] menit. Jika tidak disediakan, nilai default 1440 menit (24 jam) akan digunakan.

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

Membuat pengguna dan token dalam satu permintaan

Untuk kenyamanan, gunakan createUserAndToken untuk membuat pengguna baru dan mengeluarkan token dengan satu panggilan fungsi. Ini diterjemahkan ke dalam satu permintaan web dibandingkan dengan membuat pengguna terlebih dahulu dan kemudian mengeluarkan token.

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

Membuat pengguna dan token dengan kedaluwarsa kustom dalam satu permintaan

Anda juga dapat membuat token akses Identitas Komunikasi dengan menyesuaikan waktu kedaluwarsa. Periode validitas token harus dalam rentang [60.1440] menit. Jika tidak disediakan, nilai default 1440 menit (24 jam) akan digunakan.

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

Mencabut token untuk pengguna

revokeTokens Gunakan metode untuk mencabut semua token yang dikeluarkan untuk pengguna.

await client.revokeTokens(user);

Menghapus pengguna

deleteUser Gunakan metode untuk menghapus pengguna.

await client.deleteUser(user);

Bertukar Azure AD token akses Pengguna Teams untuk token akses Komunikasi

Gunakan getTokenForTeamsUser metode untuk menukar token akses Azure AD pengguna Teams dengan yang baru CommunicationAccessToken dengan waktu kedaluwarsa yang cocok.

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>",
});

Pemecahan Masalah

Langkah berikutnya

Silakan lihat direktori sampel untuk contoh terperinci tentang cara menggunakan pustaka ini.

Berkontribusi

Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.

Tayangan