Bagikan melalui


Pustaka klien Azure Communication Common untuk JavaScript - versi 2.3.1

Paket ini berisi kode umum untuk pustaka Azure Communication Service.

Memulai

Prasyarat

Menginstal

npm install @azure/communication-common

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

CommunicationTokenCredential dan AzureCommunicationTokenCredential

CommunicationTokenCredential adalah antarmuka yang digunakan untuk mengautentikasi pengguna dengan Communication Services, seperti Obrolan atau Panggilan.

Menawarkan AzureCommunicationTokenCredential cara yang mudah untuk membuat kredensial yang mengimplementasikan antarmuka tersebut dan memungkinkan Anda untuk memanfaatkan logika refresh otomatis bawaan.

Bergantung pada skenario Anda, Anda mungkin ingin menginisialisasi AzureCommunicationTokenCredential dengan:

  • token statis (cocok untuk klien berumur pendek yang digunakan untuk misalnya mengirim pesan Obrolan satu kali) atau
  • fungsi panggilan balik yang memastikan status autentikasi berkelanjutan selama komunikasi (ideal misalnya untuk sesi Panggilan panjang).

Token yang diberikan ke AzureCommunicationTokenCredential baik melalui konstruktor atau melalui panggilan balik penyegaran token dapat diperoleh menggunakan pustaka Azure Communication Identity.

Contoh

Membuat kredensial dengan token statis

Untuk klien berumur pendek, menyegarkan token setelah kedaluwarsa tidak diperlukan dan AzureCommunicationTokenCredential mungkin dibuat dengan token statis.

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

Membuat kredensial dengan panggilan balik

Di sini kami berasumsi bahwa kami memiliki fungsi fetchTokenFromMyServerForUser yang membuat permintaan jaringan untuk mengambil string token JWT untuk pengguna. Kami meneruskannya ke kredensial untuk mengambil token untuk Bob dari server kami sendiri. Server kami akan menggunakan pustaka Azure Communication Identity untuk mengeluarkan token. Fungsi perlu mengembalikan token yang fetchTokenFromMyServerForUser valid (dengan tanggal kedaluwarsa yang ditetapkan di masa mendatang) setiap saat.

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

Membuat kredensial dengan penyegaran proaktif

Pengaturan refreshProactively ke true akan memanggil fungsi Anda tokenRefresher ketika token hampir kedaluwarsa.

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

Membuat kredensial dengan refresh proaktif dan token awal

Passing initialToken adalah pengoptimalan opsional untuk melewati panggilan pertama ke tokenRefresher. Anda dapat menggunakan ini untuk memisahkan boot dari aplikasi Anda dari siklus refresh token berikutnya.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
  refreshProactively: true,
  token:
    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});

Pemecahan Masalah

  • Token yang ditentukan tidak valid: Pastikan token yang Anda berikan ke AzureCommunicationTokenCredential konstruktor atau ke tokenRefresher panggilan balik adalah string token JWT kosong. Misalnya, jika Anda menggunakan pustaka Azure Communication Identity atau REST API untuk mendapatkan token, pastikan Anda hanya token melewati bagian dari objek respons.

Langkah berikutnya

Berkontribusi

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

Tayangan