Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Langkah 3: Buat Token Obrolan
Agar peserta obrolan dapat terhubung ke ruang dan mulai mengirim serta menerima pesan, token obrolan harus dibuat. Token obrolan digunakan untuk mengautentikasi dan mengotorisasi klien obrolan.
Diagram ini menggambarkan alur kerja untuk membuat token obrolan IVS:

Seperti yang ditunjukkan di atas, aplikasi klien meminta aplikasi sisi server Anda untuk token, dan aplikasi sisi server memanggil menggunakan permintaan yang ditandatangani AWS SDK CreateChatToken atau SigV4. Karena kredensial AWS digunakan untuk memanggil API, token harus dibuat dalam aplikasi sisi server yang aman, bukan aplikasi sisi klien.
Aplikasi server backend yang mendemonstrasikan pembuatan token tersedia di Backend Demo Obrolan Amazon IVS
Durasi sesi mengacu pada lama waktu sesi yang ditetapkan dapat tetap aktif sebelum ditutup secara otomatis. Artinya, durasi sesi adalah lama waktu klien dapat tetap terhubung ke ruang obrolan sebelum token baru harus dihasilkan dan koneksi baru harus dibuat. Atau, Anda dapat menentukan durasi sesi selama pembuatan token.
Setiap token hanya dapat digunakan sekali untuk membuat koneksi bagi pengguna akhir. Jika koneksi ditutup, token baru harus dibuat sebelum koneksi dapat dibuat kembali. Token itu sendiri valid hingga stempel waktu kedaluwarsa token yang disertakan dalam respons.
Jika pengguna akhir ingin terhubung ke ruang obrolan, klien harus meminta token ke aplikasi server. Aplikasi server membuat token dan memberikannya kembali ke klien. Token harus dibuat untuk pengguna akhir sesuai permintaan.
Untuk membuat token autentikasi obrolan, ikuti instruksi di bawah ini. Saat Anda membuat token obrolan, gunakan bidang permintaan untuk meneruskan data tentang pengguna akhir obrolan dan kemampuan pesan pengguna akhir; untuk detailnya, lihat CreateChatTokendi Referensi API Obrolan IVS.
Instruksi AWS SDK
Pembuatan token obrolan dengan AWS SDK mengharuskan Anda untuk mengunduh dan mengonfigurasi SDK terlebih dahulu di aplikasi Anda. Di bawah ini adalah petunjuk untuk AWS SDK yang digunakan JavaScript.
Penting: Kode ini harus dijalankan di sisi server dan output-nya diberikan kepada klien.
Prasyarat: Untuk menggunakan contoh kode di bawah ini, Anda perlu memuat AWS JavaScript SDK ke dalam aplikasi Anda. Untuk detailnya, lihat Memulai AWS SDK for JavaScript.
async function createChatToken(params) { const ivs = new AWS.Ivschat(); const result = await ivs.createChatToken(params).promise(); console.log("New token created", result.token); } /* Create a token with provided inputs. Values for user ID and display name are from your application and refer to the user connected to this chat session. */ const params = { "attributes": { "displayName": "DemoUser", }", "capabilities": ["SEND_MESSAGE"], "roomIdentifier": "arn:aws:ivschat:us-west-2:123456789012:room/g1H2I3j4k5L6", "userId": 11231234 }; createChatToken(params);
Instruksi CLI
Pembuatan token obrolan dengan AWS CLI adalah opsi lanjutan dan mengharuskan Anda untuk mengunduh serta mengonfigurasi CLI terlebih dahulu di mesin Anda. Untuk detail, lihat Panduan Pengguna AWS Command Line Interface. Catatan: Pembuatan token dengan AWS CLI cocok untuk tujuan pengujian, tetapi untuk penggunaan produksi, kami menyarankan Anda agar membuat token di sisi server dengan AWS SDK (lihat instruksi di atas).
-
Jalankan perintah
create-chat-token
beserta dengan pengidentifikasi ruang dan ID pengguna untuk klien. Sertakan salah satu kemampuan berikut:"SEND_MESSAGE"
,"DELETE_MESSAGE"
,"DISCONNECT_USER"
. (Atau, sertakan durasi sesi (dalam menit) dan/atau atribut kustom (metadata) tentang sesi obrolan ini. Bidang ini tidak ditampilkan di bawah ini.)aws ivschat create-chat-token --room-identifier "arn:aws:ivschat:us-west-2:123456789012:room/g1H2I3j4k5L6" --user-id "11231234" --capabilities "SEND_MESSAGE"
-
Langkah ini akan mengembalikan token klien:
{ "token": "abcde12345FGHIJ67890_klmno1234PQRS567890uvwxyz1234.abcd12345EFGHI67890_jklmno123PQRS567890uvwxyz1234abcde12345FGHIJ67890_klmno1234PQRS567890uvwxyz1234abcde", "sessionExpirationTime": "2022-03-16T04:44:09+00:00", "tokenExpirationTime": "2022-03-16T03:45:09+00:00" }
-
Simpan token ini. Anda akan memerlukannya untuk terhubung ke ruang obrolan dan mengirim atau menerima pesan. Anda perlu menghasilkan token obrolan lain sebelum sesi Anda berakhir (seperti yang ditunjukkan oleh
sessionExpirationTime
).