Pemberitahuan akhir dukungan: Pada 20 Februari 2026, AWS akan mengakhiri dukungan untuk layanan Amazon Chime. Setelah 20 Februari 2026, Anda tidak akan lagi dapat mengakses konsol Amazon Chime atau sumber daya aplikasi Amazon Chime. Untuk informasi lebih lanjut, kunjungi posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat mengautentikasi permintaan yang dikirim ke chatbot Anda dari ruang obrolan Amazon Chime. Untuk melakukan ini, hitung tanda tangan berdasarkan permintaan. Kemudian, validasi bahwa tanda tangan yang dihitung cocok dengan yang ada di header permintaan. Amazon Chime menggunakan SHA256 hash HMAC untuk menghasilkan tanda tangan.
Jika chatbot Anda dikonfigurasi untuk Amazon Chime menggunakan titik akhir HTTPS keluar, gunakan langkah autentikasi berikut.
Untuk memvalidasi permintaan yang ditandatangani dari Amazon Chime untuk chatbot dengan titik akhir HTTPS keluar yang dikonfigurasi
Dapatkan header Chime-Signature dari permintaan HTTP.
Dapatkan header Chime-Request-Timestamp dan isi permintaan. Kemudian, gunakan bilah vertikal sebagai pembatas antara dua elemen untuk membentuk string.
Gunakan SecurityTokenfrom the CreateBot response sebagai kunci awal HMAC_SHA_256, dan hash string yang Anda buat di langkah 2.
Mengkodekan byte hash dengan encoder Base64 ke string tanda tangan.
Bandingkan tanda tangan yang dihitung ini dengan yang ada di header Chime-Signature.
Contoh kode berikut menunjukkan cara menghasilkan tanda tangan menggunakan Java.
private final String DELIMITER = "|";
private final String HMAC_SHA_256 = "HmacSHA256";
private String generateSignature(String securityToken, String requestTime, String requestBody)
{
try {
final Mac mac = Mac.getInstance(HMAC_SHA_256);
SecretKeySpec key = new SecretKeySpec(securityToken.getBytes(UTF_8), HMAC_SHA_256);
mac.init(key);
String data = requestTime + DELIMITER + requestBody;
byte[] rawHmac = mac.doFinal(data.getBytes(UTF_8));
return Base64.getEncoder().encodeToString(rawHmac);
}
catch (Exception e) {
throw e;
}
}
Titik akhir HTTPS keluar harus menanggapi permintaan 200 OK
Amazon Chime dalam waktu 2 detik. Jika tidak, permintaan akan gagal. Jika titik akhir HTTPS keluar tidak tersedia setelah 2 detik, mungkin karena batas waktu Koneksi atau Baca, atau jika Amazon Chime menerima kode respons 5xx, Amazon Chime mencoba ulang permintaan tersebut dua kali. Coba lagi pertama dikirim 200 milidetik setelah permintaan awal gagal. Percobaan kedua dikirim 400 milidetik setelah percobaan ulang sebelumnya gagal. Jika titik akhir HTTPS keluar masih tidak tersedia setelah percobaan ulang kedua, permintaan gagal.
catatan
Chime-Request-Timestamp berubah setiap kali permintaan dicoba ulang.
Jika chatbot Anda dikonfigurasi untuk Amazon Chime menggunakan ARN fungsi Lambda, gunakan langkah autentikasi berikut.
Untuk memvalidasi permintaan yang ditandatangani dari Amazon Chime untuk chatbot dengan fungsi Lambda ARN yang dikonfigurasi
Dapatkan Chime-Signature dan Chime-Request-Timestamp dari permintaan Lambda, dalam format JSON yang dikodekan Base64. ClientContext
{ "Chime-Signature" : "1234567890", "Chime-Request-Timestamp" : "2019-04-04T21:30:43.181Z" }
Dapatkan isi permintaan dari payload permintaan.
Gunakan SecurityTokendari
CreateBot
respon sebagai kunci awal HMAC_SHA_256, dan hash string yang Anda buat.Mengkodekan byte hash dengan encoder Base64 ke string tanda tangan.
Bandingkan tanda tangan yang dihitung ini dengan yang ada di header Chime-Signature.
Jika com.amazonaws.SdkClientException
terjadi selama pemanggilan Lambda, Amazon Chime mencoba ulang permintaan tersebut dua kali.