Koneksi bot ke Direct Line

Artikel ini menjelaskan cara menyambungkan bot ke saluran Direct Line . Gunakan saluran ini untuk berkomunikasi dengan bot melalui aplikasi klien Anda.

Catatan

Direct Line adalah saluran standar melalui protokol HTTPS untuk memungkinkan komunikasi antara aplikasi klien dan bot. Jika Anda memerlukan isolasi jaringan sebagai gantinya , gunakan Direct Line App Service Extension melalui WebSockets.

Prasyarat

  • Akun Azure. Jika Anda belum memilikinya, buat akun gratis sebelum memulai.
  • Bot yang sudah ada diterbitkan ke Azure.

Menambahkan saluran Direct Line

Hal pertama yang perlu Anda lakukan adalah menambahkan saluran Direct Line ke bot Anda.

  1. Buka portal Microsoft Azure.
  2. Buka sumber daya Azure Bot Anda. Di bawah Bot Pengaturan, pilih Saluran.
  3. Pilih Direct Line dari daftar Saluran yang Tersedia.

Bot Anda sekarang dikonfigurasi untuk menggunakan Direct Line menggunakan situs Default.

Atau, Anda dapat menambahkan situs baru alih-alih menggunakan situs default. Pilih tombol Situs baru pada halaman saluran Direct Line untuk membuat situs baru. Direct Line new site button in Azure portal

Mengelola kunci rahasia

Saat Anda menambahkan Saluran Langsung, Kerangka Kerja Bot menghasilkan kunci rahasia. Aplikasi klien Anda menggunakan kunci ini untuk mengautentikasi permintaan DIRECT Line API yang bermasalah untuk berkomunikasi dengan bot. Untuk informasi lebih lanjut, lihat Autentikasi.

  1. Untuk melihat rahasia Direct Line situs dalam teks biasa, buka halaman saluran Direct Line .

  2. Pilih tab Direct Line , lalu situs yang ingin Anda dapatkan kuncinya, seperti Default_Site. Azure akan membuka panel Konfigurasikan situs .

  3. Di bawah Kunci rahasia, pilih ikon mata di samping kunci yang sesuai.

    Show Direct Line keys

  4. Salin dan simpan kunci dengan aman. Gunakan kunci untuk mengautentikasi permintaan DIRECT Line API yang masalah aplikasi klien Anda untuk berkomunikasi dengan bot.

    Catatan

    Rahasia tidak boleh diekspos atau disematkan dalam aplikasi klien. Lihat langkah berikutnya.

  5. Praktik terbaik adalah menggunakan Direct Line API untuk menukar kunci dengan token. Aplikasi klien kemudian akan menggunakan token untuk mengautentikasi permintaannya dalam cakupan percakapan tunggal.

Konfigurasikan pengaturan

Untuk mengonfigurasi pengaturan situs Anda:

  1. Pada halaman saluran Direct Line, pilih situs yang ingin Anda konfigurasi dari daftar Situs . Panel Konfigurasikan situs akan terbuka, yang diperlihatkan di bawah ini: Configure site pane

  2. Pilih versi protokol Direct Line yang akan digunakan aplikasi klien Anda untuk berkomunikasi dengan bot.

    Tip

    Jika Anda membuat koneksi baru antara aplikasi klien dan bot, gunakan Direct Line API 3.0.

  3. Setelah selesai, pilih Terapkan untuk menyimpan konfigurasi situs. Ulangi proses ini, dimulai dengan situs baru, untuk setiap aplikasi klien yang ingin Anda sambungkan ke bot Anda.

Mengonfigurasi autentikasi yang ditingkatkan

Salah satu konfigurasi situs yang tersedia adalah Opsi autentikasi yang ditingkatkan, yang membantu mengurangi risiko keamanan saat menyambungkan ke bot (misalnya menggunakan kontrol Web Chat). Untuk informasi selengkapnya, lihat Autentikasi yang disempurnakan Direct Line.

Untuk menambahkan autentikasi yang ditingkatkan:

  1. Aktifkan opsi Tingkatkan autentikasi. Pesan yang mengatakan "Anda harus memiliki setidaknya satu asal tepercaya." akan muncul dengan tautan Tambahkan asal tepercaya. Jika Anda mengaktifkan autentikasi yang ditingkatkan, Anda harus menentukan setidaknya satu asal tepercaya.

    Asal tepercaya adalah domain yang digunakan oleh sistem untuk mengautentikasi pengguna. Dalam hal ini, Direct Line menggunakan domain untuk menghasilkan token.

    • Jika Anda mengonfigurasi asal tepercaya sebagai bagian dari halaman UI konfigurasi, pengaturan ini akan selalu digunakan sebagai satu-satunya yang ditetapkan untuk pembuatan token. Mengirim asal tepercaya tambahan (atau mengatur asal tepercaya ke tidak ada) saat membuat token atau memulai percakapan akan diabaikan (tidak ditambahkan ke daftar atau divalidasi silang).
    • Jika Anda tidak mengaktifkan autentikasi yang ditingkatkan, URL asal apa pun yang Anda kirim sebagai bagian dari panggilan API akan digunakan. Add trusted origin
  2. Setelah menambahkan URL domain tepercaya, pilih Terapkan.

Bot contoh Direct Line

Anda dapat mengunduh contoh .NET dari lokasi ini: Sampel Bot Direct Line.

Contohnya berisi dua proyek:

  • DirectLineBot. Ini membuat bot untuk terhubung melalui saluran Direct Line.
  • DirectLineClient. Ini adalah aplikasi konsol yang berbicara dengan bot sebelumnya melalui saluran Direct Line.

Direct Line API

  • Kredensial untuk DIRECT Line API harus diperoleh dari pendaftaran Azure Bot, dan hanya akan memungkinkan pemanggil untuk terhubung ke bot tempat mereka dihasilkan. Dalam proyek bot, perbarui appsettings.json file dengan nilai-nilai ini.

    {
    "MicrosoftAppId": "",
    "MicrosoftAppPassword": ""
    }
    
  • Di portal Azure, aktifkan Direct Line di daftar saluran, lalu konfigurasikan rahasia Direct Line. Pastikan bahwa kotak centang untuk versi 3.0 dicentang. Dalam proyek klien konsol, perbarui App.config file dengan kunci rahasia Direct Line dan handel bot (ID Bot).

    <appSettings>
        <add key="DirectLineSecret" value="YourBotDirectLineSecret" />
        <add key="BotId" value="YourBotHandle" />
    </appSettings>
    

Pesan pengguna dikirim ke bot menggunakan metode Direct Line Client Conversations.PostActivityAsync menggunakan yang ConversationId dihasilkan sebelumnya.

while (true)
{
    string input = Console.ReadLine().Trim();

    if (input.ToLower() == "exit")
    {
        break;
    }
    else
    {
        if (input.Length > 0)
        {
            Activity userMessage = new Activity
            {
                From = new ChannelAccount(fromUser),
                Text = input,
                Type = ActivityTypes.Message
            };

            await client.Conversations.PostActivityAsync(conversation.ConversationId, userMessage);
        }
    }
}