Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pustaka identitas digunakan untuk mengelola pengguna dan token untuk Azure Communication Services.
Memulai Langkah Pertama
Prerequisites
- Sebuah langganan Azure.
- Sumber daya Communication Services yang ada. Jika Anda perlu membuat sumber daya, Anda dapat menggunakan portal Azure, Azure PowerShell, atau Azure CLI.
Menginstal
npm install @azure/communication-identity
Dukungan peramban
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
Clients
Mereka CommunicationIdentityClient menyediakan metode untuk mengelola pengguna dan token mereka.
Examples
Authentication
Anda dapat memperoleh kunci dan/atau string koneksi dari sumber daya Communication Services Anda di portal Azure. Setelah Anda memiliki kunci, Anda dapat mengautentikasi dengan CommunicationIdentityClient salah satu metode berikut:
Buat KeyCredential dengan AzureKeyCredential sebelum menginisialisasi klien
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const key = "<some-key>";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new AzureKeyCredential(key);
const client = new CommunicationIdentityClient(endpoint, credential);
Menggunakan string koneksi
import { CommunicationIdentityClient } from "@azure/communication-identity";
// Example connection string
const connectionString =
"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret";
const client = new CommunicationIdentityClient(connectionString);
Menggunakan TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
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.
Usage
Membuat pengguna baru
Gunakan metode ini createUser untuk membuat pengguna baru.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
Membuat dan menyegarkan token pengguna
Gunakan metode ini getToken untuk mengeluarkan atau memperbarui token bagi pengguna yang sudah ada. Metode ini juga mencakup daftar cakupan token komunikasi. Opsi cakupan meliputi:
-
chat(Gunakan ini untuk akses penuh ke API Chat) -
voip(Gunakan ini untuk akses penuh ke API Pemanggilan) -
chat.join(Akses ke API Chat tetapi tanpa otorisasi untuk membuat, menghapus, atau memperbarui thread chat) -
chat.join.limited(Versi chat.join yang lebih terbatas yang tidak memungkinkan penambahan atau penghapusan peserta) -
voip.join(Akses ke API Pemanggil tetapi tanpa otorisasi untuk memulai panggilan baru)
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
const { token } = await client.getToken(user, ["chat"]);
Untuk menyegarkan token pengguna, keluarkan token lain dengan pengguna yang sama.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
let { token } = await client.getToken(user, ["chat"]);
// Refresh the token again
({ token } = await client.getToken(user, ["chat"]));
Membuat token pengguna dengan kedaluwarsa khusus
Anda juga dapat membuat token akses Communication Identity dengan menyesuaikan waktu kedaluwarsaannya. Masa berlaku token harus berada dalam rentang [60.1440] menit. Jika tidak disediakan, nilai default 1440 menit (24 jam) akan digunakan.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
const tokenOptions = { tokenExpiresInMinutes: 60 };
const { token } = await client.getToken(user, ["chat"], tokenOptions);
Membuat pengguna dan token dalam satu permintaan
Untuk kemudahan, gunakan createUserAndToken untuk membuat pengguna baru dan mengeluarkan token dengan satu fungsi pemanggilan. Ini berarti satu permintaan web saja, bukan membuat pengguna terlebih dahulu lalu mengeluarkan token.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const { user, token } = await client.createUserAndToken(["chat"]);
Membuat pengguna dan token dengan kedaluwarsa khusus dalam satu permintaan
Anda juga dapat membuat token akses Communication Identity dengan menyesuaikan waktu kedaluwarsaannya. Masa berlaku token harus berada dalam rentang [60.1440] menit. Jika tidak disediakan, nilai default 1440 menit (24 jam) akan digunakan.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const userAndTokenOptions = { tokenExpiresInMinutes: 60 };
const { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);
Mencabut token untuk pengguna
Gunakan metode ini revokeTokens untuk mencabut semua token yang diterbitkan untuk pengguna.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
// Create user
const user = await client.createUser();
// Later when you want to revoke the user's tokens
await client.revokeTokens(user);
Menghapus pengguna
Gunakan metode untuk deleteUser menghapus pengguna.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
// Create user
const user = await client.createUser();
// Later when you want to delete the user
await client.deleteUser(user);
Menukar token akses Azure AD dari Pengguna Teams dengan token akses Komunikasi
Gunakan getTokenForTeamsUser metode untuk menukar token akses Azure AD dari pengguna Teams dengan token baru CommunicationAccessToken dengan waktu kedaluwarsa yang cocok.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const { token, expiresOn } = 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>",
});
Troubleshooting
Logging
Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Langkah berikutnya
Silakan lihat sampel direktori untuk contoh terperinci tentang cara menggunakan pustaka ini.
Contributing
Jika Anda ingin berkontribusi ke library ini, silakan baca panduan contributor untuk mempelajari lebih lanjut cara membuat dan menguji kode.
Proyek terkait
Azure SDK for JavaScript