Pustaka klien Azure Communication Common untuk JavaScript - versi 2.3.1
Paket ini berisi kode umum untuk pustaka Azure Communication Service.
Memulai
Prasyarat
- Langganan Azure.
- Sumber daya Communication Services yang ada. Jika Anda perlu membuat sumber daya, Anda dapat menggunakan Portal Microsoft Azure, Azure PowerShell, atau Azure CLI.
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 ketokenRefresher
panggilan balik adalah string token JWT kosong. Misalnya, jika Anda menggunakan pustaka Azure Communication Identity atau REST API untuk mendapatkan token, pastikan Anda hanyatoken
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.
Proyek terkait
Azure SDK for JavaScript